django - 如何覆盖 list_editable 保存?
问题描述
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)
我试过了,但它根本不适用于“大规模保存”
解决方案
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()
推荐阅读
- jquery - jQuery.ajax 不是函数 TypeError: jQuery.ajax 不是函数
- django - Django Crispy 表单输入乱序
- css - Flexdashboard - 主题和 CSS
- webpack - Laravel Mix - JS 作为 ES2016
- java - 可能带有条件运算符的 Java 错误
- javascript - EJS 如果条件从未满足
- reactjs - ReactJs 安全性
- c# - MongoDB - 在 C# 中的数组中更新或插入对象
- c# - Unity Prefabs:资产导入未卸载元数据路径。这会泄漏内存
- python - 澄清正则表达式功能/.findall() 返回不在捕获组中的匹配项