在django admin中清理动态字段

时间:2015-11-10 22:25:40

标签: django django-admin

在我的管理员字段中,我在ajax请求后创建了一个输入隐藏字段。现在我想在我的模型中看到该字段是否存在,以便我可以提出验证错误。

class Vehicle(Model):
  ....

  def clean_fields(self, exclude=None):
    if self.cleaned_data.get('VIN_error') is not None:
            raise ValidationError({
                'VIN': ValidationError(_('Invalid VIN.'), code='invalid'),
            })

我不确定应该使用哪种方法来查看我的视图中是否存在VIN_error字段。目前我正在

  

对象没有属性' cleaning_data'

请注意,VIN_error仅存在于视图中而不存在于模型中。

1 个答案:

答案 0 :(得分:0)

在进行模型评估时,建议的方法是覆盖clean方法,而不是clean_fields。您无权访问cleaned_data,但可以使用self访问正在验证的对象。

如果您需要从视图中访问已清理的数据,则属于您的表单或模型表单的验证。