所以我有两个包含主键“用户”的模型

class Reviews(models.Model):
    subject_user = models.ForeignKey(User,related_name='reviewed_user')

class Friendship(models.Model):
    head_user = models.ForeignKey(User,related_name='followed')


现在,我想找到所有也在Friendsip.head_user中的用户的评论...像这样

SELECT * FROM reviews JOIN friendship WHERE reviews.subject_user_id IN friendship.head_user_id

OR

SELECT * FROM reviews JOIN friendship ON reviews.subject_user_id = friendship.head_user_id


如何在Django中执行此操作。 SQL(可能不是完美的)只是为了解释我正在尝试做的事情。

最佳答案

使用select_related

Reviews.objects.all().select_related('friendship__ head_user_id')

或在lookups that span relationship上阅读
也许这会有所帮助:'F expressions'

10-06 00:42