【发布时间】:2012-09-21 19:44:48
【问题描述】:
有没有办法确定 Django 模型字段验证器函数内部是否用于更新或插入?
【问题讨论】:
-
简短的回答是否定的。你想达到什么目的?可能有比尝试使用验证器更好的方法,例如在 clean 方法中检查 pk。
标签: django django-models django-validation
有没有办法确定 Django 模型字段验证器函数内部是否用于更新或插入?
【问题讨论】:
标签: django django-models django-validation
不确定是否是您要查找的内容,但我通常使用 self.pk 来确定模型是否已保存。如果没有主键,我可以假设它是一个插入。
【讨论】:
不,没有。验证器只是一个可调用的,它接受一个值并检查它。它无法访问正在验证的字段或实例,因此无法判断它是新实例还是现有实例。
【讨论】:
clean 方法,但这不会让您将错误分配给特定字段。或者,您可以使用模型表单,然后您可以分配errors to a specific field in the clean method。