几天后,我只是希望有人能指点我正确的方法。 我有4个型号:页面,元素,样式和发布。Django管理员:内联2个外键Many2Many模型
这里是我的simplyfied models.py/admin.py摘录:http://pastebin.com/uSHrG0p2
在2句:
一个元素引用1种样式和1个帖子(2个FKS)。
一个页面可以引用很多元素,元素可以被多个页面引用(M2M)。
在页面实例的管理网站上,我将M2M关系作为“内联”。这样我有多行来选择元素实例。 一排看起来像:[我的贴子A与我的风格X] [V]
我想要的是用2个下拉菜单替换一个下拉菜单。一个具有Post的所有实例,另一个具有Style的所有实例(就地创建元素实例)。因此,一行看起来类似于元素管理网站:[我的帖子A] [V] [我的风格X] [V]
听起来很容易,但我完全失去了阅读和实验2天后使用ModelForms,ModelAdmins,Formsets ...。 我可以在Django管理功能中没有自定义视图/表单吗?
我的一个方法是从这样的PageAdminForm访问邮报/风格的情况下,试图从一个手动创建一个表单控件......但未能如愿:
p = Page.objects.get(pk=1)
f = PageAdminForm(instance=p)
f.base_fields['elements'].choices.queryset[0].post
任何意见或提示我需要走哪条路? 谢谢你的时间!