Как объединить данные двух наборов запросов?

У меня есть Модель Poller и Модель Vote, которые хранят голоса, сделанные пользователем для определенного опросника. Дополнительно я использую эту модель стороннего пакета для обработки комментариев, сделанных к Poller. Теперь я хочу прикрепить к каждому комментарию информацию о том, какой голос выбрал создатель комментария (комментарии можно делать только если пользователь уже проголосовал).

Итак, в моем представлении получилось следующее:

def single_poller(request, poller_id):
    """
    renders a specific poller with prepopulated meta according to previous
    user interaction, e.g. votes and likes
    """

    # Retrieve the item via get
    poller = Poller.objects.get(poller_id=poller_id)

    # Get votes and users for rendering comments with vote 1 or vote 2
    votes = Vote.objects.filter(
        poller=poller,
        user__in=poller.poller_comments.all().values('user')
    )

Модель голосов

class Vote(models.Model):
    poller = models.ForeignKey(Poller, on_delete=models.CASCADE, related_name='vote')
    user = models.ForeignKey(Account, on_delete=models.CASCADE)
    created_on = models.DateTimeField(auto_now_add=True)
    poller_choice_one_vote = models.BooleanField(default=False)
    poller_choice_two_vote = models.BooleanField(default=False)

Шаблон

<div class="comments-wrapper">
    {% get_comment_list for poller as comment_list %}
    {% for comment in comment_list %}
        <div class="comment-box">
            <div class="comment-meta">{{ comment.user_name }}, {{ comment.submit_date }}</div>
            <div class="comment-body">{{ comment.comment }}</div>
        </div>
    {% endfor %}
</div>

Как мне теперь связать информацию набора голосов с набором комментариев, чтобы я мог вывести для каждого комментария, голосовал ли комментатор за poller_choice_one_vote или poller_choice_two_vote?

Вернуться на верх