2

日時列の取得に問題があります。正しい日時を返す代わりに、model.field は None を返します。

モデル CustomerPeriod は次のように定義されます。

class CustomerPeriod(models.Model):
    id = models.DecimalField(primary_key=True, decimal_places=0, max_digits=22)
    customer_id = models.ForeignKey(Customer)
    begin_date = models.DateTimeField()
    end_date = models.DateTimeField()

例として、テーブルには次のように入力されます。

customer_period = CustomerPeriod()
customer_period.id = Decimal('1118632')
customer_period.customer_id = 1
customer_period.begin_date = datetime.datetime(2008, 8, 15, 5, 0)
customer_period.end_date = datetime.datetime(2008, 8, 15, 6, 0)

customer_period.save()

ここで、begin_date フィールドの値を取得しようとすると、上記のように、予想される日付ではなく null が返されます。

CustomerPeriod.objects.all()[0].begin_date

None を返します???!

さらに、データベース ブラウザーで期待されるデータを確認できます。

助けてくれてありがとう。

バージョン:

  • Sqlite3 3.7.12
  • パイソン 2.7.4
  • ジャンゴ 1.5.4

スチュワート

4

1 に答える 1

3

これがまだ保留中かどうかはわかりませんが、この問題を自分で処理しました。sqlite db の列タイプが日時であることを確認する必要があります。Pythonでそれを引き出そうとすると、日付だけの場合はNoneが返されます。そのテーブルがある場合は削除して、再同期します。

于 2014-02-12T22:17:14.257 に答える