Django 的 ORM 是创建 SQL 去查询和操作数据库的一个 Python 式的方式。
<1> ForeignKey 操作
正向查找
语法:
对象.关联字段.字段
示例:
语法:
关联字段__字段
示例:
反向操作
语法:
obj.表名_set
示例:
语法:
表名__字段
示例:
<2> ManyToManyField
class RelatedManager
"关联管理器"是在一对多或者多对多的关联上下文中使用的管理器。
它存在于下面两种情况:
当 . 点后面的对象可能存在多个的时候就可以使用以下的方法。
方法:
① create()
创建一个新的对象,保存对象,并将它添加到关联对象集之中,返回新创建的对象。
② add()
把指定的 model 对象加到关联对象集中。
③ set()
更新 model 对象的关联对象。
④ remove()
从关联对象集中移除执行的 model 对象
⑤ clear()
从关联对象集中移除一切对象。
注意:
对于 ForeignKey 对象,clear() 和 remove() 方法仅在 null=True 时存在。
举个例子:
ForeignKey 字段没设置 null=True 时,
没有 clear() 和 remove() 方法
对于所有类型的关联字段,add()、create()、remove()、clear() 和 set() 都会马上更新数据库。在关联的任何一端,都不需要再调用 save() 方法。