从 DateTimeField() 到 TimeField() 的数据只留下后者的时间而没有日期?

问题描述 投票:0回答:2

早上好!

我有一个django数据库模型表。

填充这个模型表格,使用了数据补充——模板中的一个表格。

此模型表中的一列是 DateTimeField() 数据类型。

我还有第二张表,Django 数据库模型。

与上述第一个表的区别很小——只是一个额外添加的列——它具有 TimeField() 数据类型。

我计划从第一个模型——DateTimeField() 列的部分数据复制到模型的第二个表——到数据类型为 TimeField() 的列中。

我打算复制一些 DateTimeField() 数据——只是没有日期的时间。

从 DateTimeField() 到 TimeField() 的数据只留下后者没有日期的时间。

你怎么能为此想出点什么?

python django django-models django-orm
2个回答
0
投票

为了从

time
得到
datetime field
,你可以使用这个:

import datetime

datetime_field = datetime.datetime(2023, 4, 5, 19, 18, 6, 485592)
date_only_field = datetime_field.date()
time_only_field = datetime_field.time()

您也可以用

.replace()
函数替换微秒或秒。

datetime_field = datetime.datetime(2023, 4, 5, 19, 18, 6, 485592) 
time_only_field = datetime_field.time().replace(microsecond=0)


0
投票

您可以通过调用 .time() 方法从 DateTime 对象中提取时间。

class ModelA(models.Model):
     created_at = models.DateTimeField()
     ...

class ModelB(models.Model):
     created_time = models.TimeField()
     ...
obj_a = ModelA.objects.get(pk=1)
only_time = obj_a.created_at.time()
© www.soinside.com 2019 - 2024. All rights reserved.