2015-10-28 128 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類的字段集屬性來隱藏字段。

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