Django 多表关联

作者: 依旧丶森 | 来源:发表于2017-12-25 12:02 被阅读241次

1. 一对一关联关系

  • 使用方法

    数据库体现 Django程序模型
    通过外键关联,外键要设在多的一方 OneToOneField()
       #在 models 文件里设置 class 属性 OneToOneField 
       #关联属性要设置在后边的类里,不然会报错。因为程序是按顺序执行的。
       #一般关联属性直接设置为前者类名,关系设定后直接调用对应的类名即可
    
       class Boy(models.Model):  
            .....  
    
       class Girl(models.Model):
            ......
            boy=models.OneToOneField(Boy,null=True,blank=True)
            #根据实际选择是否为空(null=True,blank=True),允许为空的话添加对象时可以先没有关联对象;
            #关联属性如果不为空,添加对象时必须把关联对象一并添加,否则无法创建对象。
    
  • 注意事项
      如果前期双方没有关联,后来添加对关联属性时,应都通过后一个 class (设置有一对一关联属性的类)添加,不然无法添加关联属性。

        #如:Girl类里设置有Boy属性。在选择关联属性配偶保存时,女选男用:
        girl.boy=boy    
        girl.save()   
        #当男选女时一样用女类来保存关联属性男,使双方关联。
    

2. 一对多关联关系

  • 使用方法
    例子:一个人能有多个手机号码,一个号码只能属于一个人。

    数据库体现 Django程序模型
    1.通过外键关联,外键要设在多的一方。 models.ForeignKey() 设置在多的一方。
    2 中间表关联,多得一方要设置唯一约束。
  • 注意及小方法
    手机号一定属于一个人,不能为空。
    创建属性时:多的一方要有对应类的一个对象。
    查找一个对象关联对象的所有:models.User.objects.say_set.all

3. 多对多关联关系

  • 使用方法
    例子:老师与学生的关;一个老师对应多个学生,一个学生对应多个老师。

    数据库体现 Django程序模型
    中间表关联 models.ManyToManyField()

4.附加

  • 网站不同用户菜单不同实现:
      定义 Type 类型,User 类型(一对多Type),Menu 类型(一对多Type)
      Type有两个对象,会员和管理员。
      Menu类型,不同的 type 能读取不同的菜单列表。
      User 通过与 type 的关联实现不同用户的不同类型 menu。

相关文章

  • Django多表关联

    一对一关联关系 使用方法 注意事项如果前期双方没有关联,后期添加对关联属性时,应都通过后一个class(设置有一对...

  • Django 多表关联

    1. 一对一关联关系 使用方法数据库体现Django程序模型通过外键关联,外键要设在多的一方OneToOneFie...

  • Django模型(四)

    Django模型 知识点: 表关联对象 多表查询 表关联对象 前向查询 如果一个模型具有ForeignKey,那么...

  • python面试题01

    1、什么是多表关联查询,有几种多表关联的查询方式,分别是什么? 多表关联查询概念: 多表关联查询分类:1.1内连接...

  • 05 Django2.2.12-ORM 关联关系操作

    Django2.2.12-ORM 关联关系操作 一、ORM 多表的用途 之前保存了服务器的基础信息,其实服务器的信...

  • Django表关联对象及多表查询

    首先建立Student,Dpartment,Course,Stu_info表 一对多表关系数据的添加:1.第一种方...

  • mysql实现多表关联

    mysql实现多表关联 mysql关联单张表

  • 多表查询https://www.cnblogs.com/Finl

    多表查询是模型层的重要功能之一, Django提供了一套基于关联字段独特的解决方案. ForeignKey来自Dj...

  • Django之ForeignKey和ManyToManyFiel

    多表查询是模型层的重要功能之一, Django提供了一套基于关联字段独特的解决方案. ForeignKey 来自D...

  • Mysql 一些实用方法笔记!

    sql 注入: sql 导入数据: 批量插入数据: sql 关联更新多表数据: sql 关联删除多表数据: mys...

网友评论

    本文标题:Django 多表关联

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