In [20]: Author.objects.filter(Q(uname='damu') or Q(uname='xiaoli'))
Out[20]: <QuerySet [<Author: 账号:None 昵称:damu 姓名:None>]>
In [21]: Author.objects.filter(Q(uname='xiaoli') or Q(uname='damu'))
Out[21]: <QuerySet [<Author: 账号:None 昵称:xiaoli 姓名:None>]>
In [22]: Author.objects.filter(Q(uname='xiaoi') or Q(uname='damu'))
Out[22]: <QuerySet []>
可以看到对昵称为damu 或者 xiaoli 进行查询都是能够查到的,但最后一行输入中,第一个条件是不存在的,但第二个条件存在呀,使用or查询为什么结果是空?
之后我发现把 or 改成 and 就可以了,这是为啥??
In [28]: Author.objects.filter(Q(uname='xiaoi') and Q(uname='damu'))
Out[28]: <QuerySet [<Author: 账号:None 昵称:damu 姓名:None>]>