You can overwrite the method add_viewin ModelAdmin( Source ) myapp.article. He is responsible for rendering the model and adding objects to the database.
When adding your functions, you probably want to keep the source code intact, and not copy / modify it.
Project
def add_view(self, request, **kwargs):
if Stage1:
do_my_stuff()
return response
else:
return super(ModelAdmin, self).add_view(self, request, **kwargs)
. GET . , .
2
def add_view(self, request, **kwargs):
if 'stage2' not in request.GET:
if request.method == 'POST':
parameters = 'field1=foo&field2=bar'
return redirect('myapp_article_add' + '?stage2=1&' + parameters)
else:
return response
else:
return super(ModelAdmin, self).add_view(self, request, **kwargs)
, , . add_view, , , .