I have a workflow for a model in the Django admin that is very similar to the users\' workflow. First, I have a form with basic fields and then, a second form with the rest
This isn't possible with an 'out of the box' option as far as I can tell, but this is how I'd go about doing what you want to do.
The bit of code we care about is this templatetag - this seems to override show_save_and_add_another and show_save_and_continue regardless of what you have set it to. It also creates a whole new context and copies only certain values across (not clear what the justification for this is), so you'll have to modify it to get what you need.
So:
show_save_and_add_another from the original context without overwriting it, or pass through your own really_hide_save_and_add_another_damnit context variable.submit_row with it.Then, regardless of what option you went for, update your ModelAdmin with something like (based on this from the Django docs):
class MyModelAdmin(admin.ModelAdmin):
# ...
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
extra_context['show_save_and_add_another'] = False
# or
extra_context['really_hide_save_and_add_another_damnit'] = True
return super(MyModelAdmin, self).change_view(request, object_id,
form_url, extra_context=extra_context)
Updated: Original response didn't take in to account the submit_row not passing along any the whole original context.