使用inspectdb,我能够从postgres 到django 中获得一个“间隔”字段。在 Django 中,它是一个 TextField。我检索到的对象确实是一个 timedelta 对象!
现在我想把这个 timedelta 对象放在一个新模型中。做到这一点的最佳方法是什么?因为在 TextField 中放置 timedelta 会导致对象的 str 版本......
最佳答案
您可以轻松地将 timedelta 标准化为以天或秒为单位的单个浮点数。
这是“标准化为天”版本。
float(timedelta.days) + float(timedelta.seconds) / float(86400)
您可以轻松地将浮点数转换为时间增量。
>>> datetime.timedelta(2.5)
datetime.timedelta(2, 43200)
因此,将您的 timedelta 存储为浮点数。
这是“标准化到秒”版本。
timedelta.days*86400+timedelta.seconds
这是相反的(使用秒)
datetime.timedelta( someSeconds/86400 )
关于django - 如何将timedelta放入django模型中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/801912/