Есть ли способ получить доступ к одному элементу отношения "многие ко многим" в django без использования цикла for?
Я совсем новичок в использовании Django и застрял на этом уже несколько недель. У меня есть список голосующих, который называется thumbs под каждым кандидатом, и это поле типа "многие-ко-многим", которое заполняется, когда пользователь голосует. Как я могу проверить, находится ли пользователь уже в списке thumbs (т.е. уже голосовал), чтобы я отображал компоненты по-разному, основываясь на этом?
Вот что у меня есть:
myTemplateFile.html
myModelFile.py
class PollCandidate(models.Model):
name = models.CharField(max_length=500, blank=True, null=True)
candidate = models.ForeignKey(Candidate, blank=True, null=True, on_delete=models.SET_NULL)
poll = models.ForeignKey(Polls, on_delete=models.SET_NULL, blank=True, null=True, default=None)
points = models.IntegerField(default='1')
thumbsup = models.IntegerField(default='0')
thumbsdown = models.IntegerField(default='0')
thumbs = models.ManyToManyField(User, related_name='pollthumbs', default=None, blank=True)
def __str__(self):
return f"{self.name}, in {self.poll} "
class Votes(models.Model):
candidate = models.ForeignKey(PollCandidate, related_name='candidateid', on_delete=models.CASCADE, default=None, blank=True)
poll = models.ForeignKey(Polls, related_name='pollid', on_delete=models.CASCADE)
user = models.ForeignKey(User, related_name='voterid',on_delete=models.CASCADE, default=None, blank=True)
vote = models.BooleanField(default=True)
def __str__(self):
return f"{self.user} voted for {self.candidate.name} in {self.poll}"
Буду благодарен за любое предложение 😊
{% if request.user in candidate.thumbs.all %}
>