Ответ 1
как насчет...
Photo.objects.filter(complaint__isnull=False)
Это обязательный дубликат вопроса, но я не могу найти других. Я пытаюсь получить список фотографий с жалобами. Я не могу просто получать жалобы и иметь дело со связанными фотографиями - мне нужен запрос на фотографии.
Это должно работать, но не кажется правильным:
Photo.objects.filter(complaint__id__gte=0)
Это не похоже на самый эффективный способ:
Photo.objects.annotate(Count('complaint')).exclude(complaint__count=0)
Есть ли лучший способ?
как насчет...
Photo.objects.filter(complaint__isnull=False)
Я не уверен, что лучше, но это тоже работает.
Photo.objects.exclude(complaint=None)
Сгенерированный SQL-запрос здесь не такой, как в случае с .filter(complaint__isnull=False)
, но смысл идентичен.