class Punch(models.Model):
        ring            = models.ForeignKey(Ring)
        voters           = models.ManyToManyField(settings.AUTH_USER_MODEL)

    class Ring(models.Model):
        category        = xxxx


我有一个ManyToManyField这个课。

每个用户每次打孔只能投票一次。
现在,我需要知道用户是否已经为特定的投票投票。

我该怎么办?

punch.voters.filter(??? = request.user)


阅读文档时,我想到了这一点:

voters = get_user_model().objects.filter(punch__voters=request.user)


但这给了我用户对所有拳打投票的总次数。但是我只对一个特别的打孔感兴趣,看看他是否投了赞成票。

我仍然在努力解决这个问题。
感谢帮助

最佳答案

你可以尝试一下:

punch.voters.filter(pk=request.user.pk)


您也可以将filter换成try-expect包裹的get

08-24 14:26