在Django的字段中添加额外的约束 [英] Adding extra constraints into fields in Django
本文介绍了在Django的字段中添加额外的约束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
虽然子类化 db.models.Model
,但有时候添加额外的检查/约束是至关重要的。
我有一个事件
模型与 start_date
和 end_date
。 / p>
我想在字段或模型中添加验证,以便 end_date> start_date
。
有多少可能的方法?
至少我知道这可以在 models.Model
之外在 ModelForm
验证中。
但是如何附加到字段和 models.Model
?
解决方案在您的型号的保存方法中执行
def save (self,* args,** kwargs):
if(self.end_date> self.start_date):
super(Foo,self).save(* args,** kwargs)
else:
raise异常,end_date应该大于start_date
While subclassing db.models.Model
, sometimes it's essential to add extra checks/constraints.
E.g. I have an Event
model with start_date
and end_date
.
I want to add validation into the fields or the model so that end_date > start_date
.
How many possible ways to do this?
At least I know this can be done outside the models.Model
inside the ModelForm
validation.
But how to attach to the fields and the models.Model
?
解决方案
Do it inside your save method of your model:
def save(self, *args, **kwargs):
if(self.end_date > self.start_date):
super(Foo, self).save(*args, **kwargs)
else:
raise Exception, "end_date should be greater than start_date"
这篇关于在Django的字段中添加额外的约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文