Py学习  »  A. J. Parr  »  全部回复
回复总数  1
7 年前
回复了 A. J. Parr 创建的主题 » 添加Django模型约束?

不用“开始”和“结束”,您可以使用 DurationField ,则从中计算“结束”属性。

class Period(models.Model):
      number = models.PositiveIntegerField(primary_key=True)
      start_time = models.TimeField()
      duration = models.DurationField()

      @property
      def end_time(self):
          return self.start_time + self.duration

您还应该能够在查询中使用结束时间,方法是将其与 annotate 查询集上的方法,即

query = Period.objects.all().annotate(end_time=F('start_time')+F('duration'))