是否有一个django管理窗口小部件,用于添加内联的through_model多个外键

时间:2015-04-15 15:34:23

标签: python django django-admin

我有一个基本的多对多关系:

歌曲播放列表,播放列表会员作为直通模式

现在我使用内联视图显示播放列表详细信息视图中的歌曲,该视图是TabularInline的子类:

class PlaylistMemberInline(TabularInline):
    model = PlaylistMember
    raw_id_fields = ('Sound',)


class PlaylistAdmin(TranslatableAdmin):
    ...
    inlines = [PlaylistMemberInline]

What I see in the admin

要添加多个声音,我必须点击“添加另一个声音”,然后在弹出窗口中找到该声音。这在我的情况下很烦人,因为我可以找到我想要添加的所有声音,但是必须单击一个并返回“添加另一个声音”。

是否有可以搜索的小部件,选择然后添加多个对象?

1 个答案:

答案 0 :(得分:3)

Django源代码(1.8 branch here, line 254)表明您可以将ForeignKey添加到radio_fields或raw_id_fields,从而产生不同的小部件。

在这种情况下,将字段名称“Sound”添加到PlaylistMemberInline.raw_id_fields, 考虑将其添加到PlaylistMemberInline.radio_fields