如何查询从m2m关系中获取用户

时间:2013-08-17 13:13:43

标签: django django-models django-views django-orm

我有一个论坛模型。它只是基础知识,我正在尝试掌握关系以及如何与它们进行查询。所以,我有一个论坛,其中包含问题,正文,发布日期,图像和喜欢的字段。我想我的模型设计是正确的,如果不是,请纠正我。所以,一切都按照我的意愿运作。就是这样,我如何让所有喜欢论坛的用户得到好评呢?我怎么查询呢?请指导我。 谢谢。

models.py:

class Forum(models.Model):
    question = models.CharField(max_length=150)
    body = models.TextField()
    pub_date = models.DateTimeField(default=datetime.now)
    image = models.ImageField(upload_to=get_upload_file_name)
    creator = models.ForeignKey(User, related_name="creator_set")
    likes = models.ManyToManyField(User, through="Like")

    def __unicode__(self):
        return self.question

class Like(models.Model):
    forum = models.ForeignKey(Forum)
    liked = models.ForeignKey(User)
    liked_date = models.DateTimeField(default=datetime.now)

    def __unicode__(self):
        return "%s likes %s" % (self.liked, self.forum)    

1 个答案:

答案 0 :(得分:0)

这不应该起作用吗?:

Forum.objects.get(pk=1).likes.all()
Forum.objects.get(pk=1).likes.count()