愿此后再无WA 2022-05-27 09:47 采纳率: 94.1%
浏览 23
已结题

django 使用Q对象遇到问题

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>]>
  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 修改了问题 5月27日
  • 创建了问题 5月27日