模型类关系

关系型数据库的关系包括三种类型:

  • ForeignKey:一对多,将字段定义在多的一端中。
  • ManyToManyField:多对多,将字段定义在任意一端中。
  • OneToOneField:一对一,将字段定义在任意一端中。
  • 可以维护递归的关联关系,使用'self'指定,详见"自关联"。

关联查询

通过对象执行的关联查询

一对多的访问语法:一对应的模型对象.多对应的模型类的小写_set

b = BookInfo.objects.get(id=1)
b.heroinfo_set.all()

多对一的访问语法

多对应的模型对象.多对应的模型类对象的关系属性名

h = HeroInfo.objects.get(id=1)
h.hbook

由多模型类条件查询一模型类数据

关联模型类名小写_属性名_条件运算符=值

list = BookInfo.objects.filter(heroinfo__hcontent__contains='')

由一模型条件查询多模型条件查询

一模型类关联属性名__一模型类属性名__条件运算符=值

list = HeroInfo.objects.filter(hbook__btitle='天龙八部')

 

posted @ 2018-03-24 20:26  zhong_sp  阅读(374)  评论(0)    收藏  举报