對於我的一個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