1

我有以下型号:

class Book(models.Model):    
    ASIN = models.CharField(max_length=255, primary_key=True)
    title = models.CharField(max_length=255)
    users = models.ManyToManyField(FacebookCustomUser, through='BookRatings')

class BookRatings(models.Model):
    user = models.ForeignKey(FacebookCustomUser)
    book = models.ForeignKey(Book)
    rating = models.IntegerField()

现在我想获取登录用户的所有书籍和评级。我尝试了以下方法:

books = request.user.book_set.all()

但是现在在书籍中没有评级的字段。我究竟做错了什么?

4

1 回答 1

2

book_set为您提供 Book 记录,而不是 BookRating 记录。您可以通过标准的反向关系得到它:

request.user.bookratings_set.all()

这将具有评级字段,以及book用于获取图书的外键。

于 2013-10-07T20:11:11.060 回答