Итак, это работает:
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)
Изменить: я неправильно понял, что 2-й и 3-й фрагменты одинаковы, если не вступают в действие поля «многие ко многим». Но оба не имеют ничего общего с первым фрагментом