Python sysdate相关日期验证器导致的合成/冗余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))] 我怎样才能避免这

在Django模型中,我有一个日期字段,如下所示,我希望日期在未来(或今天,但不是过去)

这很好,验证按预期在表单上进行,但是,
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))]