对于我的一个Django模型,我有一个由输入字段组成的编辑模板。但是,与标准表单不同,只要这些输入发生更改,我就会发出AJAX请求来保存该单个字段。我的AJAX端点基本如下所示:如何动态验证任意字段?
def update_field(request, mod_id, field, value, element_id):
mod = Model.objects.get(id=mod_id)
setattr(mod, field, value)
mod.save()
return json.dumps({'element_id': element_id})
但是,这是一个非常基本且可能很幼稚的方法。在调用setattr和保存之前,我想验证输入(即value
)对于任何型号字段field
所指的有效,其中field
是一个字符串。
有没有一种方法来验证这一点,给出一些输入value
和模型field
一些字段名称?
HTTPS ://docs.djangoproject.com/en/1.8/ref/models/instances/#validating-objects – Anentropic
我同意@Anentropic - 创建一个模型,并传入正确的'instance'。 'clean_'方法会验证该字段。 – karthikr