python - what is the diff between save_model and save_formset in django admin -
i reading save_model , save_formset in django admin here
https://docs.djangoproject.com/en/1.5/ref/contrib/admin/#django.contrib.admin.modeladmin.save_model
but confused when save_formset called.
shouldn't formset saved during save_model?
the documentation utilize little clarification.
save_model called during add together or alter save base of operations model. not intended save related or inlined models. save_related called (once) after save_model completes save off related / inlined models. save_formset called potentially many times during each add together / change, 1 time every inline defined on modeladmin. called base of operations class implementation of save_related. if @ code admin.modeladmin, can see save_model , save_related happen 1 after other:
class modeladmin(basemodeladmin): def changeform_view(...): # ... if all_valid(formsets) , form_validated: self.save_model(request, new_object, form, not add) self.save_related(request, form, formsets, not add) and save_related has simple implementation phone call save_formset each inline:
class modeladmin(basemodeladmin): # ... def save_related(self, request, form, formsets, change): form.save_m2m() formset in formsets: self.save_formset(request, form, formset, change=change) python django django-admin
No comments:
Post a Comment