2017-01-06 11 views
2

Djangoを初めて使用しています。私はこれをRailsでよく理解していますが、Python/Djangoのすべてのライブラリとコンバージョンを十分に理解していません。Django - モデルでは、created_atはUNIXのタイムスタンプです

私はモデルを持っている:

class Status(models.Model): 
    created = models.DatetimeField(auto_now_add=True) 

これは形式で結果:

"created": "2017-01-06T22:21:51.531723Z" 

私があれば、それはUNIX値として格納DBに保存する前に確認するために期待していましたか?

これは有望なhttps://stackoverflow.com/a/34843855/3007294と思われましたが、動作させることはできません。私はStatusオブジェクトを作成しようとするたびに、私はこのエラーを取得する:

Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]. 

私の意図はStatusオブジェクトが作成され、このたびを入力する必要がないことです。

おかげで -

+2

あなたが求めていることは明確ではありません。このフィールドは、データベースの日時フォーマットとして保存されます。何もする必要はありません。 –

+0

@DanielRoseman私はフィールドをUNIXタイムスタンプ(datetime形式から変換)として保存したいと考えていました。 – user3007294

答えて

4

My intentions are to not have to enter this every time a Status object is created.

これはすでにauto_now_add=True optionでの世話をされています。 Statusオブジェクトを作成すると、createdフィールドに現在のdatetimeが設定されます。

I was hoping to see if before saving to the DB that it stores as a UNIX value?

あなたはStatus.createdから、いつでも必要なUnixのタイムスタンプにdatetime値を変換することができます。デフォルトのデータベースの日時フォーマット(これはDatetimeFieldのようなものです)に格納するのが一般的には、それを単なる整数であるタイムスタンプとして保存するより優先されます。

django-unixdatetimefieldの例で使用されているライブラリでは、「UnixDateTimeFieldは標準Django DateTimeFieldの実装に基づいており、サポートするすべての機能とオプションと100%互換性があります」と記載されています。したがって、そのフィールドにauto_now_add=Trueオプションを指定することができます。

+0

ありがとうございます@Rushy!私は十分に文書を見直さなかったし、あなたは正しいのです。感謝します! – user3007294

関連する問題