这节我们学习python数据库表表之间的键处理
主要有三种键 OneToOne,ForeignKey,ManyToMany
一:ForeignKey
1.父表调用子表(这样也叫反向查询)
fatherObject.sonName_set.all()这样可以拿到子表的集合
fatherObject是父类对象实例
sonName是子类表名的小写形式+_set.all()就可以拿到子类的所有对象,父类是one子类是many
Django每个表都有一个外键属性,可以通过这个形式来调用子类表,这给属性就是子类表小写名+_set()来获得一个querydict对象,还可以继续操作如上。
也可以在关联表示定义外键名臣称 如related_name=my_related_name
就可以将上面的sonName_set一起换成外键名称my_related_name,即fatherObject.my_related_name.all()
2.子表调用父表
sonObject.fathonMenber,成员名这样就拿到父表的对象了,也必须得是小写
二:OneToOneFiled
这种使用相对上面简单
sonObject.fatherName,fatherObject.sonName父类和子类可以直接加.来相互引用
三:ManyToManyFiled
和ForeignKey一样,分为反向和正向查询,注意related_name