Django 检索查询集';s相关数据

Django 检索查询集';s相关数据,django,django-models,django-rest-framework,django-queryset,django-filter,Django,Django Models,Django Rest Framework,Django Queryset,Django Filter,我有以下模型类: class User(models.Model): ... class Book(models.Model): ... class WishListRelationship(models.Model): user = models.ForeignKey(User, db_index=True, blank=False, null=False, related_name='wishlist', on_delete=CASCADE) book = model

我有以下模型类:

class User(models.Model):
    ...
class Book(models.Model):
    ...
class WishListRelationship(models.Model):
    user = models.ForeignKey(User, db_index=True, blank=False, null=False, related_name='wishlist', on_delete=CASCADE)
book = models.ForeignKey(Book, blank=False, null=False, on_delete=CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
然后,我想通过对数据库的一次调用从用户那里获得图书的查询集。如果这样做:

request.user.wishlist.select_related('book').all()
然后我有一个愿望关系的查询集,但我只想得到书,所以我试着做以下工作:

Book.objects.annotate(wished_books_ids=request.user.wishlist.all().values_list('book_id', flat=True)).filter(id__in=F('wished_books_ids'))
但是我没有达到我想要的,那就是在一个内部连接中获得相关书籍的列表。我怎么能这么做


提前感谢

您无需将其设置为如此复杂,您可以通过以下方式进行查询:

Book.objects.filter(wish_list_relationship__user=request.user)

Book.objects.filter(愿望列表关系用户=request.user)
Awesome!那正是我想要的,非常感谢