我正在尝试使用digikam的现有数据库并为其创建一个 DJango 应用程序。但是在管理员中打开一个模型时,由于DateTimeField
.
我在这里使用了从 legacy db 函数导入,它工作得很好(我已经可以使用两个表了)。该images
表的生成模型为:
class Image(models.Model):
id = models.IntegerField(primary_key=True)
album = models.IntegerField(null=True, blank=True)
name = models.TextField()
status = models.IntegerField()
category = models.IntegerField()
modificationdate = models.DateTimeField(null=True, db_column=u'modificationDate', blank=True) # Field name made lowercase.
filesize = models.IntegerField(null=True, db_column=u'fileSize', blank=True) # Field name made lowercase.
uniquehash = models.TextField(db_column=u'uniqueHash', blank=True) # Field name made lowercase.
class Meta:
db_table = u'Images'
def __unicode__(self):
return name
在为其调用相关管理页面时,我得到一个“ValueError”,并且跟踪显示它正在尝试将字符串转换'2012-09-30T11:35:35'
为日期时间。
两个问题
- 如果我设置
modificationdate = models.TextField(...)
错误仍然存在,它仍然会尝试将上述字符串转换为日期时间。为什么? - 如果我在 settings.py 中为 DATETIME_INPUT_FORMATS 的元组(即 '%Y-%m-%dT%H:%M:%S')添加一个拟合格式,错误仍然存在。如何让 Django 接受我的附加格式?
使用 Django 1.3.1 和 sqlite3。删除线modificationdate = ...
可以解决问题。