Python sysdate相关日期验证器导致的合成/冗余Django迁移
在Django模型中,我有一个日期字段,如下所示,我希望日期在未来(或今天,但不是过去) 这很好,验证按预期在表单上进行,但是,Python sysdate相关日期验证器导致的合成/冗余Django迁移,python,django,validation,datetime,model,Python,Django,Validation,Datetime,Model,在Django模型中,我有一个日期字段,如下所示,我希望日期在未来(或今天,但不是过去) 这很好,验证按预期在表单上进行,但是,makemigrations每天在该日期运行时都会创建一个新的迁移,下面是今天生成的一个示例: field=models.DateField(null=True, validators=[django.core.validators.MinValueValidator( datetime.date(2018, 1, 26))] 我怎样才能避免这
makemigrations
每天在该日期运行时都会创建一个新的迁移,下面是今天生成的一个示例:
field=models.DateField(null=True,
validators=[django.core.validators.MinValueValidator(
datetime.date(2018, 1, 26))]
我怎样才能避免这种情况?我应该使用自定义验证器而不是
MinValueValidator
,还是向表单
子类添加clean
方法,就像这样?没有办法避免这种情况。
你有两个选择
- 编写一个自定义验证器
- 在表单中编写一个clean_fieldname方法
- 在模型上写入预保存信号,确保值正确
field=models.DateField(null=True,
validators=[django.core.validators.MinValueValidator(
datetime.date(2018, 1, 26))]