Models and Databases 2.Making queries

save

关系字段

更新时放入所指向的model实例
可以直接传入id

retrieve

默认使用的Manager是objects
XXModel.objects.all()

filter

exclude

lookuptype

默认是exact完全匹配
iexact会忽略大小写
contains包含
icontains忽略大小写的包含
startswith endswith istartswith iendswith
如果想过滤想关联的内容,可直接使用,反向的也行

关于过滤,同时满足和之后满足,不一样

Blog.objects.filter(entry__headline__contains='Lennon', entry__pub_date__year=2008)
# 如果没有同时满足的查不出来
Blog.objects.filter(entry__headline__contains='Lennon').filter(entry__pub_date__year=2008)
# 第一步过滤 如果有满足的查出来结果,做为第二步过滤的初始,之后过滤

行内比较使用F表达式

cache

没有完整遍历过的queryset不会缓存

for in
bool转换 list转换

Q

把上述的过滤语句包装为整体,可用& | ~连接来形成 且 或 非 操作

del

copy

设置主键为None再保存,但不会自动处理关系字段

多行更新

update

你可能感兴趣的:(Models and Databases 2.Making queries)