有没有什么办法可以根据需要更新的对象加载不同的管理员窗体来编辑对象?Django管理模式的不同形式
例如 - 我们有一个MPTTModelAdmin
对象。而对于根对象,我们不希望看到某些字段:
class RootObjectForm(ModelForm):
class Meta:
model = Author
exclude = ('title',)
class ChildObjectForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'birth_date')
但我不知道如何让对象字段中forms.py或admin.py。
对不起,也许我不明白的东西,但如下因素代码: 从django.forms进口的ModelForm 从mptt_test.models进口第一类 类CategoryForm(的ModelForm): 类元: 模型=类别 DEF __init __(个体,*指定参数时,** kwargs): 超级(CategoryForm,自我).__ INIT __(*指定参数时,** kwargs) 打印self.fields [ '标题'] 打印: _ _ 如果我尝试访问特殊的标准MPTT字段,例如_level_(self.fields ['level']) - 我为此类丑陋格式生成_KeyError_ –
user2919162
抱歉... 4个空格不起作用 – user2919162
我不是非常熟悉MPTT ......它有一个Django管理员窗体混搭或类,你的ModelAdmin应该继承吗?这可能解释了缺失的领域。 – Brandon