1

digikamの既存のデータベースを使用して、そのためのDJangoアプリを作成しようとしています。しかし、管理者で1つのモデルを開くと、が原因で問題が発生しDateTimeFieldます。

ここではレガシーdb関数からのインポートを使用しましたが、正常に機能しました(すでに2つのテーブルを使用できます)。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'を日時に変換しようとしていることを示しています。

2つの問題

  1. 私が設定した場合modificationdate = models.TextField(...)、エラーは残り、それでも上記の文字列を日時に変換しようとします。なんで?
  2. settings.pyのDATETIME_INPUT_FORMATS(つまり、'%Y-%m-%dT%H:%M:%S')のタプルにフィッティング形式を追加すると、エラーが残ります。Djangoに追加のフォーマットを受け入れさせるにはどうすればよいですか?

Django1.3.1とsqlite3を使用します。行を削除するmodificationdate = ...と、問題が解消されます。

4

0 に答える 0