美文网首页
03-models模型关系

03-models模型关系

作者: 学飞的小鸡 | 来源:发表于2018-10-20 15:09 被阅读0次
from django.db import models


# 人 模型类
# 身份证 模型
# 关系: 一对一
# 主表(重要数据), 从表(声明关系)
class Person(models.Model):
    p_name = models.CharField(max_length=50)
    p_age = models.IntegerField()


class IDCard(models.Model):
    i_num = models.CharField(max_length=50)
    i_addr = models.CharField(max_length=255)

    # 关联(约束)
    # 通过外键实现,在外键中添加唯一约束(保证一对一)
    # 存的是person对象的id

    # 默认模式是 models.CASECADE: 删除级联数据
    # 默认情况: 当人删除时,身份证存在,人和身份证一起删除
    # 默认情况: 当人删除时,身份证不存在,人删除
    # i_person = models.OneToOneField(Person)


    # models.PROTECT保护模式: 级联数据存在,抛出异常; 级联数据不存在,直接删除;
    # 当人删除时,身份证存在,抛出异常
    # 当人删除时,身份证不存在,直接删除
    # i_person = models.OneToOneField(Person, on_delete=models.PROTECT)


    # model.SET_NULL 置空模式[该字段必须设置 允许为空]
    # 当人删除时,身份证存在,该属性设置null
    # 当人删除时,身份证不存在,直接删除
    # i_person = models.OneToOneField(Person, on_delete=models.SET_NULL, null=True)


    # model.SET_DEFAULT 置默认值模式
    i_person = models.OneToOneField(Person, on_delete=models.SET_DEFAULT, default=11)



# 班级 模型类
# 学生 模型类
# 关系: 一对多
# 一个班对应多个学生
class Grade(models.Model):
    g_name = models.CharField(max_length=50)

class Student(models.Model):
    s_name = models.CharField(max_length=50)
    s_score = models.IntegerField()
    s_detail = models.CharField(max_length=255)

    # 声明关系
    # 哪个班级的学生
    s_grade = models.ForeignKey(Grade,on_delete=models.SET_DEFAULT, default=1)



# 用户 模型类
# 商品 模型类
# 一个用户,可以收藏多个商品
# 一个商品,可以被多个用户收藏
# 关系: 多对多
class User(models.Model):
    u_name = models.CharField(max_length=50)
    u_tel = models.CharField(max_length=20)


class Goods(models.Model):
    g_name = models.CharField(max_length=50)
    g_price = models.IntegerField()

    # 声明关系
    g_user = models.ManyToManyField(User)

相关文章

  • 03-models模型关系

  • 海量数据--在线大数据处理的理论与实践--淘宝沈询_Whispe

    从需求出发来看关系模型与非关系模型--关系模型与非关系模型概述 1.层次模型2.关系模型3.ORMapping的作...

  • 数据库原理

    关系模型 关系模型 实体关系模型 对象关系模型 半结构化数据模型 XML(扩展标记语言) 数据语言 DML 数据操...

  • 数据库设计(四)关系模型和关系数据库

    关键词 关系模型,关系数据库,关系操作,完整性约束 关系模型 关系模型是目前最为重要的数据模型,关系数据库采用关系...

  • Linux之MariaDB基础详解

    Lamp之MariaDB 数据库结构模型分类 1、层次模型 2、网状模型 3、关系模型 关系模型的组成部分 二维关...

  • 数据库-关系数据库

    关系是一种二维平面表,关系模型由关系数据结构、关系完整性约束和关系操作集合三部分组成。 1.关系数据模型:关系模型...

  • 关系模型

    数据模型三要素数据结构(静态特性):描述数据库的组成对象及对象间的联系常用来命名数据模型:层状模型,网状模型,关系...

  • 关系模型

    (一)视角,换个角度,冰山一角,对和错之间的纠结,思路打不开 生活中习以为常的事情全新定义,换个角度看问题,经常审...

  • 模型关系

    模型关系主要分为一对一,一对多和多对多。在flask官网中只给出了一对多和多对多的解释应用,所以一对一的实现依赖于...

  • 关系模型

    基本概念 在关系型数据库中,关系模型中的概念与数据库层面上的概念的对应关系如下: 关系(relation)指关系型...

网友评论

      本文标题:03-models模型关系

      本文链接:https://www.haomeiwen.com/subject/qybyaftx.html