Django 过滤器或 .filter(x=1,y=2) 就像 Django Docu
Django filter OR .filter(x=1,y=2) like Django Docu
所以这有效:
from django.db.models import Q
Item.objects.filter(Q(creator=owner) | Q(moderated=False))
根据:https://docs.djangoproject.com/en/dev/topics/db/queries/#spanning-multi-valued-relationships
这应该给我与第一个代码片段相同的代码
Item.objects.filter(creator=owner, moderated=False)
但它的作用如下:
Item.objects.filter(creator=owner).filter(moderated=False)
编辑:
我误解了第二个和第三个片段是相同的,除非多对多字段到位。但是两者都与第一个片段无关
Q 与运营商 |可以翻译成:
请给我 creator=owner
OR moderated=False
实例 Item 的所有对象
(OR 在这里很重要)
当 .filter(creator=owner, moderated=False)
说:
请给我实例项的所有对象 creator=owner
AND moderated=False
所以这有效:
from django.db.models import Q
Item.objects.filter(Q(creator=owner) | Q(moderated=False))
根据:https://docs.djangoproject.com/en/dev/topics/db/queries/#spanning-multi-valued-relationships
这应该给我与第一个代码片段相同的代码
Item.objects.filter(creator=owner, moderated=False)
但它的作用如下:
Item.objects.filter(creator=owner).filter(moderated=False)
编辑: 我误解了第二个和第三个片段是相同的,除非多对多字段到位。但是两者都与第一个片段无关
Q 与运营商 |可以翻译成:
请给我 creator=owner
OR moderated=False
(OR 在这里很重要)
当 .filter(creator=owner, moderated=False)
说:
请给我实例项的所有对象 creator=owner
AND moderated=False