0
我有2代表作为试图筛选基于另一个表中的值
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
如何选择其次是一些有关items
的UsrPosts
user
?即我可以拥有像(item0,user0),(item1,user0),(item5,user0)这样的ItemFollowers
中的记录。我需要基于用户过滤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_id = request.user.id).values_list('item')'。 如果在一次交易中没有更好的答案,我会将其作为接受的答案。非常感谢! –
好吧,使用django_debug_toolbar,它看起来实际上需要一个查询来运行这两行。再次感谢! –