【发布时间】:2016-07-26 09:22:37
【问题描述】:
嗯,我想保存模型的任何实例而不关心 DDBB 结构。所以我决定在每个模型类中覆盖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 中覆盖特定表单?具体来说,就是我在其中添加、删除或编辑模型的一类。
【问题讨论】:
-
您可以覆盖模型的保存方法。这是示例:stackoverflow.com/questions/4269605/…
-
谢谢 Lam,但这就是我正在做的。在开始时检查我的帖子。问题不是扩展保存,而是覆盖它。我的模型有一个主键限制,但真正的数据库没有(即使它看起来没有意义,它有......:P)。我的意思是,如果数据通过我自己的检查,我想强制插入(is_valid=True 也许......)我的两种方法是:覆盖保存(而不是扩展它)或在表单上跳转验证
标签: python django django-admin