2015-10-28 92 views
0

当我在管理员中内联显示用户配置文件时,我想根据特定条件删除一些非模型字段。django inline admin:动态删除模型表单中的非模型字段

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

这是一个老话题,但我认为我可以提供帮助。

您可以使用ModelAdmin类的字段集属性来隐藏字段。

只是列出了您要显示的字段。