私は、sqlite3データベースからいくつかの簡単な値を表示する小さなDjangoアプリケーションを作成しています。私の問題は、フィールドの1つがDateTimeFieldであるにもかかわらず、クエリの際にそのフィールドのUnicode値を取得することです。ここでは、モデルの関連部分があります:私は、例えば、(当然の合計をインポートした後)DjangoのシェルでTotals.objects.all()[0].time
を入力した場合Django datetimeフィールド(sqliteデータベースを使用)はunicodeを返します
class Totals(models.Model):
time = models.DateTimeField(primary_key=True, blank=False)
..
は今、私はu'2012-01-03 04:02:56.966'
を取得します。おそらく、私はsqliteを使用しているので、これは正常な動作ですか、それとも何か間違っていますか?私はこれが適切であるかどうかはわかりませんが、使用したいデータベースがすでにあるので、私はモデルを自動生成しました。自動生成プロシージャは自然にすべてのフィールド型をテキストとして控除していたので、私はそれに応じて修正しました。
DjangoのDBのバックエンドは、にすべてを変換し、次のように私の場合は
は、私が見ることはありますunicodeとsqlite3は常にunicodeを返します(UTF8 internal i believe) – CppLearner
しかし、整数フィールドは正しく変換されます。私は、sqliteはネイティブのdatetime型を持っていないという事実を認識していますが、Djangoは私のために整数を解析することができ、sqliteのドキュメントではsqlite関数が認識する標準の日付形式を推奨しているので、Djangoは、これらの値も。他の質問stackoverflow(例:これは:http://stackoverflow.com/questions/1181145/why-isnt-django-returning-a-datetime-field-from-the-database)私にその印象を与えた。 – Elektito
何か間違っています.. djangoはdatetimeオブジェクトに値を強制するか、エラーを発生させるべきです。あなたのモデルは1.3に貼り付けられたときに動作します。うーん? –