Есть две модели
class Question(models.Model):
text = models.TextField()
class Vote(models.Model):
cas_id = models.IntegerField()
question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='votes')
Я хочу получить ВСЕ вопросы. Голосование каждого вопроса должно включать только голоса с cas_id=123
. Набор голосов некоторых вопросов может быть пустым.
SQL-запрос выглядит так:
with user_votes as (
select *
from votes
where cas_id = 123
)
select *
from question q left join user_votes uv on q.id = uv.question_id;
Как я могу сделать это через django-ORM в одном запросе?
Я попробовал следующее.
.filter(votes__cas_id=123)
исключает дополнительные строки.
- 2 запроса и некоторый код работают нормально.