2017-04-13 87 views
0

我想重寫我的admin.py中的get_form方法。我寫了這個代碼:Django Admin - get_form覆蓋

def get_form(self, request, obj=None, **kwargs): 
    form = super(InactiveSiteAdmin, self).get_form(request, obj, **kwargs) 
    form.base_fields['category'].widget.can_add_related = False 
    form.base_fields['subcategory'].widget.can_add_related = False 
    form.base_fields['category1'].widget.can_add_related = False 
    ... 
    ... 
    form.base_fields['category'].widget.can_change_related = False 
    return form 

是否有可能覆蓋所有領域的一個行?:

form.base_fields[ALL_FIELDS].widget.can_add_related = False 

回答

1

看看循環在他們的作品,喜歡的東西:

def get_form(self, request, obj=None, **kwargs): 
    form = super(InactiveSiteAdmin, self).get_form(request, obj, **kwargs) 
    for field in form.base_fields.keys(): 
     form.base_fields[field].widget.can_add_related = False 
    return form