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



用户可以提出许多问题。

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)
bookmark_count = User.objects.filter(bookmark__question__user=user).count()
unique_users = User.objects.filter(bookmark__question__user=user).distinct().count()

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

最新更新