Django 尝试根据另一个表中的值进行筛选

Django 尝试根据另一个表中的值进行筛选,django,Django,我有两张桌子 class ItemFollowers(models.Model): item = models.ForeignKey(Items, models.DO_NOTHING, db_column='item') user = models.ForeignKey(AuthUser, models.DO_NOTHING, db_column='user') 另一个是 class UsrPosts(models.Model): item = models.Forei

我有两张桌子

class ItemFollowers(models.Model):
    item = models.ForeignKey(Items, models.DO_NOTHING, db_column='item')
    user = models.ForeignKey(AuthUser, models.DO_NOTHING, db_column='user')
另一个是

class UsrPosts(models.Model):
    item = models.ForeignKey('Items', models.DO_NOTHING, db_column='item')
    # Some other fields
如何选择与
项目相关的
UsrPosts
,然后选择一些
用户
?i、 e.我可以在
ItemFollowers
中有记录,比如(item0,user0),(item1,user0),(item5,user0)。我需要根据用户筛选
UsrPosts
(也称为
request.user.id

这里是一种低效的非工作方式来获取
UsrPostts

itms = ItemFollowers.objects.filter(user_id=request.user.id)
qry = Q(item_id=itms[0].item.id) | ..... | Q(item_id=itms[N].item.id)
posts = UsrPosts.objects.filter(qry)

是否有一些过滤魔法可以在一次交易中获得它?

非常感谢!第一行中只有一点小错误。它应该是
ItemFollowers.objects.filter(user\u id=request.user.id)。value\u list('item')
。如果在一次交易中没有更好的答案,我会将此作为可接受的答案。万分感谢!好的,使用django_debug_工具栏,看起来运行这两行实际上需要一个查询。再次感谢!
itms = ItemFollowers.objects.filter(user_id=request.user.id).values‌​_list('item')
posts = UsrPosts.objects.filter(item__in = itms)