I have a model where I would like to make a custom admin change_form mimicking the behavior of the Add User functionality of the stock Django Admin Interface. That is, I want a two-step action where the user will first input only a device-id and then be taken to a page where he can enter information on the device. Similar to how you first enter username and password on a user and then fill in the other information on the following page. Any ideas?
I finally managed to find how django does it. There is a response_add
method redefined inside proper ModelAdmin
. Here is a link to it for the User model in django source: django.contrib.auth.admin.py. It looks like this:
def response_add(self, request, obj, post_url_continue='../%s/'):
if '_addanother' not in request.POST and '_popup' not in request.POST:
request.POST['_continue'] = 1
return super(UserAdmin, self).response_add(request, obj, post_url_continue)
If you add this method to your ModelAdmin
class, then it should work similarly.
That covers only two step save process in admin panel, but the other funcionalities like adding extra fields to the form on second step can also be digged out in the django source.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With