0

一个 Django ORM 新手问题。我有以下型号:

class Book(models.Model):
    title = models.CharField(max_length=100,null=True)

class BookQuestions(models.Model):
    video = models.ForeignKey(Book,null=True)

class BookAnswered(models.Model):
    answer = models.ForeignKey(BookQuestions, null=True)
    user = models.ForeignKey(User)

如何获取用户回答了哪些问题的 Book 对象?

4

2 回答 2

0

你可以这样做:

BookQuestion.objects.filter(bookanswered__user=request.user)

但是,您可能会认为 BookAnswered 基本上只是多对多关系的链接表,并将其完全替换为 BookQuestion 上指向 User 的 ManyToManyField,在这种情况下,您可以这样做:

BookQuestion.objects.filter(user=request.user)
于 2013-09-15T14:51:14.590 回答
0

哦,找到了:

Book.objects.filter(bookquestions__bookanswered__user=request.user)
于 2013-09-15T15:12:27.587 回答