Jon*_*bop 4 python django constraints
由于 django 2.2文档建议使用UniqueConstraint而不是unique_together,但是如果提供了属性,则此选项不会在 django admin 中引发 ValidationError 而不覆盖clean或validate_unique方法condition。
是否可以UniqueConstraint提高ValidationError(在 django admin 中)而不是IntegrityError自己实现验证逻辑?
你说得对,这里的文档有误导性。它说:
UniqueConstraints在这方面有所不同,因为它们利用了现有的validate_unique()逻辑,从而实现了两阶段验证。
它没有说的是,如果您使用该condition参数,则这不适用。在回答您的问题时,我在相关问题上添加了评论,以建议将其添加到文档中,它是.
UniqueConstraints没有condition(即非部分唯一约束)在这方面是不同的......
根据此拉取请求评论,未实施的原因是……这很难。
我觉得合适的解决方案是暂时完全忽略部分约束……当前的实现太天真了……我怀疑在所有后端上支持这会很复杂。
当然,正如你所说,你总是可以覆盖validate_unique()自己。
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |