gpt4 book ai didi

python - Django 日期时间字段(带有 sqlite 数据库)返回 unicode

转载 作者:行者123 更新时间:2023-12-03 17:55:11 26 4
gpt4 key购买 nike

我正在编写一个小型 Django 应用程序,它显示来自 sqlite3 数据库的一些简单值。我的问题是,虽然其中一个字段是 DateTimeField,但在查询时我得到了该字段的 unicode 值。这是模型的相关部分:

class Totals(models.Model):
time = models.DateTimeField(primary_key=True, blank=False)
..

现在,如果我输入 Totals.objects.all()[0].time在 Django shell 中(当然是在导入 Totals 之后),我得到 u'2012-01-03 04:02:56.966' .这可能是正常行为,因为我使用的是 sqlite,还是有什么问题?我不确定这是否相关,但我已经自动生成了模型,因为我已经有了想要使用的数据库。自动生成过程自然将所有字段类型扣除为文本,因此我相应地对其进行了修复。

最佳答案

值得一提的是,我没有使用 sqlite 得到这种行为(我只是得到一个 datetime.datetime 对象),并且我以与您在问题中提供的方式完全相同的方式定义了模型。

我的猜测是模型的自动生成过程中出现了一些问题,它们与数据库中的模式并不真正匹配。因此,我建议验证从这些模型生成的模式是否真正匹配。

就我而言,我看到的内容如下:

$ python manage.py sql <appname>
...
CREATE TABLE "<appname>_totals" (
"time" datetime NOT NULL PRIMARY KEY
)
;


$ sqlite3 <database_filename>
.schema <app_name>_totals
CREATE TABLE "<app_name>_totals" (
"time" datetime NOT NULL PRIMARY KEY
);

注意:我还在使用带有 python 2.7.2 和 django 1.3.0 的 Ubuntu 11.10

关于python - Django 日期时间字段(带有 sqlite 数据库)返回 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com