对Django来说是新手,所以很可能我做的这一切都是错误的。Django RelatedManager - 如何将两个查询集相互关联?
我有一个Album
类和一个Song
类。 Album
可以有许多Song
。到目前为止这么简单。
在我的专辑列表下面,我想要他们的歌曲列表。不是每个专辑都有一首歌曲(不要问),所以我不想只查询Song
模型并将其加入Album
。
我看了RelatedManager.add()但这并不做什么,我希望:
a = Album.objects.order_by('-release_date')[:5]
s = Song.objects.all()
a.release_set.add(s)
我得到这个错误:
'QuerySet' object has no attribute 'release_set'
我这样做对吗?据我所知,我选择了几个Album
s,选择了所有的Song
s,然后试图将两个藏品加在一起,他们共同拥有album_id
。
有没有人知道更好的方法来做到这一点?
谢谢, 马特
AFAIK a必须是一个Album实例而不是QuerySet/list获取一个专辑然后添加到它的歌曲。 – Jerzyk 2011-04-02 15:36:48