2

私は次のモデルを持っています

クラス MonitorData(models.Model):
  [... 他のもの]
  starttime = models.CharField(max_length=64, db_column='spurlStartTime', blank=True)

したがって、starttime は char フィールドです (データベースでは、datetime 列を表します)。

今、ここに私がやっていることがあります:

oo=models.MonitorData.objects.all()
print oo[0].starttime
印刷タイプ(oo[0].starttime)

そして、ここに私が得ているものがあります:

00:35:59
<type 'datetime.time'>

私自身の理由で (それらについては話したくありません)、varchar として読み取り、自分で解析したいと考えています。しかし、djangoはそれを許可していません。なぜなら、私には不明な理由で、それを日時に変換するからです!!!

なぜdjangoがその動作をするのか、どうすれば貴重な文字列を取り戻すことができるのか、誰か説明してもらえますか? django にこの値を文字列としてキャストさせる方法はありますか?

ps: str() の使い方を知っているので、それについては答えないでください

4

2 に答える 2

4

Django は何もしていません。DBAPI アダプタは、これが DATETIME であることを認識するため、日時を返します。そしてCharField、日時をテキストに強制するものは何もありません。

于 2012-05-10T16:43:24.797 に答える
0

日時形式で値を保存する代わりに、と思います。アイソフォーマットで保存してみてください。簡単に変換できます。

于 2017-11-27T10:51:33.873 に答える