Django. Comparing the model fields before saving for the admin panel
我刚到Django,我有一个问题(是的,是的,我在找,没有找到…)。有两种型号:
1 2 3 4 | 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) |
和
1 2 3 4 | 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) |
号
如何在通过管理面板向第二个模型添加条目时执行检查:字段
在通过管理面板添加记录时,我正在寻找一个方法(最好是作为模型中的重写保存()方法),以验证来自第二个模型(带有外键)的日期是否大于第一个。
请举个例子,谢谢。
您可以覆盖细节模型保存方法,例如
1 2 3 4 | def save(self, *args, **kwargs): super(Detail, self).save(*args, **kwargs) if self.date_obxoda > self.counterdetail.date_placing : #do_something |
如果有帮助请告诉我