Django查询:用户可以提出许多问题并为许多问题添加书签。如何计算所有单个用户提出的问题的总书签?

时间:2013-12-12 01:17:33

标签: django django-models

用户可以提出很多问题。

How many = User.question_set.all().count()

许多用户可以为一个问题添加书签(每个用户一次)。

How many = Question.bookmark_set.all().count()

有多少用户为单个用户提出的所有问题添加了书签?

How many = ???

我的模特:

class Question(models.Model):
    question = models.CharField()

class Answer(models.Model):
    answer = models.CharField()

class Bookmark(models.Model):
    user = models.ForeignKey(User)
    question = models.ForeignKey(Question)

1 个答案:

答案 0 :(得分:0)

bookmark_count = User.objects.filter(bookmark__question__user=user).count()
unique_users = User.objects.filter(bookmark__question__user=user).distinct().count()

您可能需要更改user中的bookmark__question__user以匹配您的问题模型所有者。