一对一
OneToOneField(关联模型)
模型定义
class A():
id
class B():
aa = OneToOneField(A,related_name = cc)
已知:A对象a,查询B对象:
related_name没有定义时: a.b
related_name已定义时: a.cc
已知:B对象b,查询A对象
b.aa
注意:OneToOneField定义的字段可以写在关联模型的任何一方
一对多
Foreignkey(关系模型)
模型定义:
class A():
id
class B():
aa = ForeignKey(A,related_name = cc)
已知:A对象a,查询B对象:
related_name没有定义时: a.b_set
related_name已定义时: a.cc
已知:B对象b,查询A对象
b.aa
注意:ForeignKey定义的字段表示多的一方,因此只能放在多的模型中
多对多
ManyToManyField(关联模型)
模型定义
class A():
id
class B():
cc = ManyToManyField(A,related_name = dd)
已知:A对象a,查询B对象:
related_name没有定义时: a.b_set
related_name已定义时: a.dd
已知:B对象b,查询A对象
b.cc
中间表的添加:add()、删除:remove()
注意:ManyToManyField定义的字段在任何一个关联模型中都可以
image.png
image.png
网友评论