当我在管理员中内嵌显示用户个人资料时,我想根据特定条件删除一些非模型字段。
class ProfileInline(admin.StackedInline):
model = Profile
form = ProfileForm
max_num = 1
can_delete = False
ProfileForm有一些额外的字段,这些字段与模型无关,我想在某些条件下删除它们,例如某个用户正在编辑表单。
我尝试显式设置要包含的字段,我还尝试在get_formset()的帮助下排除字段:
def get_formset(self, request, obj=None, **kwargs):
kwargs['fields'] = ['fieldX', 'fieldY']
#kwargs['exclude'] = ['fieldZ']
return super(ProfileInline, self).get_formset(request, obj, **kwargs)
它适用于模型字段,但始终显示非模型字段。
答案 0 :(得分:0)
这是一个古老的话题,但我想我可以提供帮助。
您可以使用ModelAdmin类的 fieldsets 属性隐藏字段。
只列出您要显示的字段。