【问题标题】:How to convert a CharField to Datetime Field in Python(Django)?如何在 Python(Django)中将 CharField 转换为日期时间字段?
【发布时间】:2015-07-14 03:09:49
【问题描述】:

我的模型和数据库中有一个 CharField。我想将此 CharField 列转换为真正的日期时间 Django 格式。我有这样的插入查询

test.objects.create(voice=m.voice, size=m.size, start_time=get_time.get('min_time'),)

我想创建一个函数来解决它,但不知道该怎么做。请帮忙。

【问题讨论】:

  • 我很困惑。您是否正在尝试编写迁移?
  • 这个新对象中哪个字段是char字段?为什么不能编辑模型?
  • 其实我之前没有日期时间字段。所以我手动编辑了我的模型。这里所做的是查询其他表字段并放入一个表(模型)中。因此,其中一个模型将此主题字段作为字符字段而不是日期时间字段。因此,在将其插入新模型(表)之前,我需要将其转换为日期时间。希望它澄清。
  • 它没有澄清:) 你能发布你的代码吗?

标签: python sql django datetime


【解决方案1】:

我认为直接将字符字段更改为日期时间字段很难。你需要一件一件的去做。

  1. 创建一个新的日期时间列,例如start_datetime
  2. 创建一个脚本,将start_time 从字符串转换为日期时间对象。
  3. 编辑所有依赖于start_time的代码
  4. 删除start_time

这是从字符串到日期时间代码的转换示例。

import time
for obj in Test.objects.all():
    obj.start_datetime = time.strptime(obj.start_time, "%d %b %y")
    obj.save()

您可能想阅读此 python time library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2013-06-09
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多