django-admin计算两个时间差

比如我定义三个字段

start_time = models.DateTimeField()
stop_time = models.DateTimeField()
date = models.CharField()

现在要求date的值等于stop_time减去start_time得到的天数。

阅读 7.1k
2 个回答

date = (stop_time - start_time).days
如果非得要想让models自动计算这个date,我有个可能比较“龊”的办法:
models里:

start_time = models.DateTimeField()
stop_time = models.DateTimeField()
_date = models.CharField(db_column='date')  # 建议不要用date,它是关键字

@property
def date(self):
    return self._date

@date.setter
def date(self, value):
    self._date = (self.stop_time - self.start_time).days

在py里,需要随便给这个date赋个值,比如:
xxx.object.create(date=0, ...)

models里面这样写吗?不行啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题