@Mimuss

Вывести все объекты, в полях которых есть внешняя ссылка?

На примере будет проще
class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

    def __str__(self):
        return self.choice_text


Надо вывести все Question, в которых из каждых есть хотя бы один Choice
  • Вопрос задан
  • 163 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
В один запрос
from django.db.models import Count

Question.objects.annotate(choices_count=Count('choice')).filter(choices_count__gt=0)
Ответ написан
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Question.objects.filter(
   pk__in=Choice.objects.values('question__pk').distinct()
)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы