Django datetime字段(带有sqlite数据库)返回unicode - python

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

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

现在,例如,如果我在Django shell中输入Totals.objects.all()[0].time(当然,在导入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
);

注意:我还将Ubuntu 11.10与python 2.7.2和Django 1.3.0一起使用

Django:错误:您无权访问该端口 - python

我是整个安装的新手,请保持友善。在dev上,该命令通常可以正常工作,但是自从我尝试使用Django的不同命令以来,某些东西就出错了。python manage.py runserver 0.0.0.0:80 我没有使用此端口的权限了。我可以使用端口8080,但将端口添加到url中通常的主机名末尾时,网站无法正常工作。当我使用端口80时,无论如何我都无需在UR…

Django-一个CBV可处理多种情况 - python

我很难理解如何使用单个CBV处理(至少)2种不同情况。这是我想做的事情:我有一个ListView来显示对象列表。从那里,我生成一个链接以导航到DetailView以显示对象的详细信息。从那里,我生成一个链接到呈现相关报告的不同视图。我想使用以下网址:1. /myapp/list.html/ 2. /myapp/detail.html/<<uuid…

Django:DateField“此字段不能为空。” - python

我发布这样的休息请求:{title:some title, recurring:true, day:Wednesday, time:12:30, description:some text} 我没有传递日期,因为该事件重复发生,并且该值应该为空。服务器响应为:{"date": ["This field cannot be bla…

Django TestCase不保存我的模型 - python

我目前正在为Django应用编写一些测试。我的应用程序的signal.py文件中具有以下独立功能:def updateLeaveCounts(): # Setting some variables here todaysPeriods = Period.objects.filter(end__lte=today_end, end__gte=today_sta…

django-simple-history,在admin中显示更改的字段 - python

当我从admin.ModelAdmin继承时,在管理页面的历史记录中,我可以看到哪些字段已更改。但是,现在我需要使用django-simple-history来跟踪所有模型更改。现在,对于管理员,我继承了simple_history.SimpleHistoryAdmin。我可以看到所有模型更改并还原它们,但看不到更改了哪些字段。是否可以在SimpleHist…