大家先设想一下,如果你要获取除超级管理员以外的所有用户,这里默认的管理员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>]>
好啦,小伙伴觉得上面小编给大家描述的方法好不好用呢?如果学习到了知识,那就好好融会贯通使用下吧,想要了解更多学习内容,尽在python教学中心。