1
    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)

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

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

4

2 回答 2

2

可以使用跨关系查找来查询多对多关系。

于 2013-03-23T21:14:51.153 回答
0

你可以试试这个:

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

您也可以filtertry-expect包装的替换get

于 2013-03-24T06:09:24.353 回答