1

我正在尝试使用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'为日期时间。

两个问题

  1. 如果我设置modificationdate = models.TextField(...)错误仍然存​​在,它仍然会尝试将上述字符串转换为日期时间。为什么?
  2. 如果我在 settings.py 中为 DATETIME_INPUT_FORMATS 的元组(即 '%Y-%m-%dT%H:%M:%S')添加一个拟合格式,错误仍然存​​在。如何让 Django 接受我的附加格式?

使用 Django 1.3.1 和 sqlite3。删除线modificationdate = ...可以解决问题。

4

0 回答 0