我有以下型号:
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()
但现在在书中没有评级的字段。我做错了什么?
答案 0 :(得分:2)
book_set
为您提供Book记录,而不是BookRating记录。你可以通过标准的反向关系得到它:
request.user.bookratings_set.all()
这将有评级字段,加上book
ForeignKey来获取图书。