Django ORM进行not查询

432次阅读
没有评论

Django

大家先设想一下,如果你要获取除超级管理员以外的所有用户,这里默认的管理员id为1,那在Django框架里要以什么形式进行设定呢?如果已经有答案了,那是不是同小编一样,利用orm进行not查询吗?如果是的话,那就看以下操作是不是同小编一样吧,如果不是,那也来看下,哪种方式更好一点吧。

Django提供了两个选项:

exclude(<condition>)
filter(~Q(<condition>))

第一种使用默认的exclude排除法。

qs5 = User.objects.exclude(id=1)
# 输出及结果
print(qs5)
<QuerySet [<User: yonghu1>, <User: yonghu2>, <User: yonghu3>]>

第二章使用Q()方法

from django.db.models import Q
qs6 = User.objects.filter(~Q(id=1))
# 输出及结果
print(qs6)
<QuerySet [<User: yonghu1>, <User: yonghu2>, <User: yonghu3>]>

好啦,小伙伴觉得上面小编给大家描述的方法好不好用呢?如果学习到了知识,那就好好融会贯通使用下吧。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-26发表,共计530字。
新手QQ群:570568346,欢迎进群讨论 Python51学习