class MenuPromoAdmin(admin.ModelAdmin):
list_editable = ('position', 'sort_by', 'sort_number')
list_display = ('id','product', 'category', 'label', 'sort_by', 'position', 'sort_number')
raw_id_fields = ('product', 'category')
list_filter = []
ordering = ('position','sort_number')
fieldsets = [
"Position and Sorting", {
'classes': ('grp-collapse grp-open',),
'fields': ['position', 'sort_by', 'sort_number']
}),
"Data", {
'classes': ('grp-collapse grp-open',),
'fields': ['url', 'label', 'title', 'css', 'product', 'category']
}),
]
def save_model(self, request, obj, form, change):
# do something
super(MenuPromoAdmin, self).save_model(request, obj, form, change)
admin.site.register(Menu_Promo, MenuPromoAdmin)
我尝试过,但是对于“大量保存”根本不起作用
答案 0 :(得分:1)
save_model
适用于单个对象。对于多个对象,请使用save_formset
。
示例:
class MenuPromoAdmin(admin.ModelAdmin):
...
def save_formset(self, request, form, formset, change):
# get all the objects in the formset
instances = formset.save(commit=False)
for instance in instances:
# do something ...
instance.save()