mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
Added form_add and form_change methods to ModelAdmin.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6100 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4046a61793
commit
35be27874b
@ -309,6 +309,20 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
"""
|
"""
|
||||||
return self.queryset(request)
|
return self.queryset(request)
|
||||||
|
|
||||||
|
def form_add(self, request):
|
||||||
|
"""
|
||||||
|
Returns a Form class for use in the admin add view.
|
||||||
|
"""
|
||||||
|
fields = flatten_fieldsets(self.fieldsets_add(request))
|
||||||
|
return forms.form_for_model(self.model, fields=fields, formfield_callback=self.formfield_for_dbfield)
|
||||||
|
|
||||||
|
def form_change(self, request, obj):
|
||||||
|
"""
|
||||||
|
Returns a Form class for use in the admin change view.
|
||||||
|
"""
|
||||||
|
fields = flatten_fieldsets(self.fieldsets_change(request, obj))
|
||||||
|
return forms.form_for_instance(obj, fields=fields, formfield_callback=self.formfield_for_dbfield)
|
||||||
|
|
||||||
def save_add(self, request, model, form, formsets, post_url_continue):
|
def save_add(self, request, model, form, formsets, post_url_continue):
|
||||||
"""
|
"""
|
||||||
Saves the object in the "add" stage and returns an HttpResponseRedirect.
|
Saves the object in the "add" stage and returns an HttpResponseRedirect.
|
||||||
@ -423,9 +437,7 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
# Object list will give 'Permission Denied', so go back to admin home
|
# Object list will give 'Permission Denied', so go back to admin home
|
||||||
post_url = '../../../'
|
post_url = '../../../'
|
||||||
|
|
||||||
fields = flatten_fieldsets(self.fieldsets_add(request))
|
ModelForm = self.form_add(request)
|
||||||
ModelForm = forms.form_for_model(model, fields=fields, formfield_callback=self.formfield_for_dbfield)
|
|
||||||
|
|
||||||
inline_formsets = []
|
inline_formsets = []
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = ModelForm(request.POST, request.FILES)
|
form = ModelForm(request.POST, request.FILES)
|
||||||
@ -485,9 +497,7 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
if request.POST and request.POST.has_key("_saveasnew"):
|
if request.POST and request.POST.has_key("_saveasnew"):
|
||||||
return self.add_view(request, form_url='../../add/')
|
return self.add_view(request, form_url='../../add/')
|
||||||
|
|
||||||
fields = flatten_fieldsets(self.fieldsets_change(request, obj))
|
ModelForm = self.form_change(request, obj)
|
||||||
ModelForm = forms.form_for_instance(obj, fields=fields, formfield_callback=self.formfield_for_dbfield)
|
|
||||||
|
|
||||||
inline_formsets = []
|
inline_formsets = []
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = ModelForm(request.POST, request.FILES)
|
form = ModelForm(request.POST, request.FILES)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user