Мне, наконец, удалось выяснить, как это делает Джанго.Существует метод response_add
, переопределенный внутри собственно ModelAdmin
.Вот ссылка на него для модели User в источнике django: django.contrib.auth.admin.py .Это выглядит так:
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)
Если вы добавите этот метод в свой класс ModelAdmin
, он должен работать аналогично.
Это охватывает только двухэтапный процесс сохранения в панели администратора, нодругие функции, такие как добавление дополнительных полей в форму на втором шаге, также можно найти в источнике django.