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,它看起來實際上需要一個查詢來運行這兩行。再次感謝! –