Wednesday, 15 July 2015

python - what is the diff between save_model and save_formset in django admin -



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