objects:为models默认管理器, 在插入的时候可以使用id也可以使用对象, 这里返回的是一个object
详情: https://docs.djangoproject.com/zh-hans/3.0/topics/db/queries/
插入多对多关系
的时候需要分布操作
一、 增加crate 和 save方法
1 | # 利用create创建 |
然后就会在表格中多一个。
二、 修改update 和 save方法
注意update修改于QuerySet
, get
获取的是object
对象,filter
获取的是QuerySet
1 | # 利用 save方法修改 |
三、 查询(惰性查询)和删除
-
QuerySet 是惰性的 —— 创建 QuerySet 并不会引发任何数据库活动。你可以将一整天的过滤器都堆积在一起,Django 只会在 QuerySet 被 计算 时执行查询操作。在使用xxx.objects.all()的时候,并没有直接去数据库查询,但是,如果使用就会进行数据库的实际查询。
-
delete删除, QuerySet和object都行
1 | # 删除是级联删除,on_delete=models.CASCADE, 删除了张三,那么authorDetail里面的张三也会被删除 |
查询方法有: https://docs.djangoproject.com/zh-hans/3.0/topics/db/queries/
QuerySet不支负数索引
- get()
- filter()
- first()
- last()
- all()
- count()