Django的。在为管理面板保存之前比较模型字段

时间:2018-01-24 17:54:30

标签: python django django-models

我是Django的新手,我有一个问题(是的,是的,我一直在找,但没找到......)。 有两种模式:

class CounterDetail(models.Model):
counter = models.ForeignKey(Counter, on_delete=models.CASCADE)
date_placing = models.DateField(auto_now=False, auto_now_add=False, blank=False, null=False)
verifying_period_mounts = models.IntegerField(blank=False, null=False)

class Detail(models.Model):
counterdetail = models.ForeignKey(CounterDetail, on_delete=models.CASCADE)
date_last_verification = models.DateField(auto_now=False, auto_now_add=False, blank=False, null=False)
date_obxoda = models.DateField(auto_now=False, auto_now_add=False, blank=False, null=False)

如何通过管理面板向第二个模型添加条目时实施检查: 字段date_obxoda = models.DateField(auto_now=False, auto_now_add=False, blank=False, null=False)更多,然后来自另一个模型的date_placing = models.DateField(auto_now = False,auto_now_add = False,blank = False,null = False)。

我正在寻找一种方法(最好是模型中重写的save()方法),当通过管理面板添加记录时,验证第二个模型(带外键)的日期是否大于第一

请举个例子,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以覆盖详细模型保存方法,如

def save(self, *args, **kwargs):
    super(Detail, self).save(*args, **kwargs)
    if self.date_obxoda > self.counterdetail.date_placing :
        #do_something

请告诉我这个帮助

相关问题