覆盖 Django Admin 的保存方法
Override save method of Django Admin
好吧,我想保存模型的任何实例而不关心 DDBB 结构。所以我决定在每个模型的 class 中覆盖 def save
。种类:
def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
if condition:
raise Exception("You can´t insert that element")
return super(name_class, self).save(self, force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)
好吧,通过这个我实现了不引发异常的插入,但是如果实例通过了这个检查,我想在数据库中插入任何存在的主要限制...
如何获取?
我想我必须重写save
的核心代码,但我检查了它并没有找到我检查插入数据库的条件的部分。
也许,问题仅在于表单的验证。
如何覆盖 Django Admin 中的特定表单?具体来说,就是我添加、删除或编辑模型的一个 class。
您可以覆盖 ModelAdmin
的 save_model
。
class MyAdminView(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
super().save_model(request, obj, form, change)
好吧,我想保存模型的任何实例而不关心 DDBB 结构。所以我决定在每个模型的 class 中覆盖 def save
。种类:
def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
if condition:
raise Exception("You can´t insert that element")
return super(name_class, self).save(self, force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)
好吧,通过这个我实现了不引发异常的插入,但是如果实例通过了这个检查,我想在数据库中插入任何存在的主要限制...
如何获取?
我想我必须重写save
的核心代码,但我检查了它并没有找到我检查插入数据库的条件的部分。
也许,问题仅在于表单的验证。
如何覆盖 Django Admin 中的特定表单?具体来说,就是我添加、删除或编辑模型的一个 class。
您可以覆盖 ModelAdmin
的 save_model
。
class MyAdminView(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
super().save_model(request, obj, form, change)