所以我有两个包含主键“用户”的模型
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'