我创建了一个模型,用于输入会话的开始日期以及截止日期和投票日期。我的模特是:
from datetime import datetime, timedelta
class Sitting(models.Model):
sit_date = models.DateField(blank=False)
cut_off_date = models.DateField(default=get_cut_off_date)
ballot_date = models.DateField(default=ballot_date)
genre = TreeForeignKey('Genre', null=True, blank=True, db_index=True)
sess_no = models.ForeignKey(Session,
on_delete=models.CASCADE)
def get_cut_off_date(self):
return self.sit_date - timedelta(days=16)
def ballot_date(self):
return self.sit_date - timedelta(days=12)
def __str__(self): # __unicode__ on Python 2
return self.sit_date
我想从同一型号的就座日期值中设置截止日期和选票日期默认值。但我的模型不起作用。如何从坐位日期的输入设置截止日期和投票日期的默认值?
答案 0 :(得分:0)
您已创建了获取cut_off_date的函数,因此只需覆盖save方法即可更新cut_off_date
class Sitting(models.Model):
sit_date = models.DateField(blank=False)
cut_off_date = models.DateField(null=True, blank=True)
def get_cut_off_date(self):
....
def save(self, *args, **kwargs):
self.cut_off_date = self.get_cut_off_date()
super(Model, self).save(*args, **kwargs)