私は、DRFシリアライザを使用してモデルオブジェクトを直列化しようとしています。オブジェクトのDatetimeFieldがISO-8601形式の"2015-10-21T09:28:53.769000Z"
を出力しないことがわかりましたdjango restフレームワーク設定のDatetimeFieldフォーマットの設定
なぜ私はISO-8601形式を出力できないのですか? datetimefieldによると:
format
- 出力フォーマットを表す文字列。これが指定されていない場合、DATETIME_FORMAT設定キーと同じ値になります。設定されていなければ、 'iso-8601'になります。書式文字列に設定すると、to_representationの戻り値を文字列出力に強制する必要があります。フォーマット文字列については後述します。 Noneにこの値を設定するには、Pythonが
それは私がDATETIME_FORMAT
引数を設定しない場合には、出力iso-8601
形式にデフォルトだ意味していることを示していますか?まだ、それは変わりません。
は、私は次のようDjangoプロジェクトの設定を記述しようとすると:
REST_FRAMEWORK = {
'DATETIME_FORMAT': "iso-8601",
}
または私は次のようDateTimeField型引数に書く:
class UserSerializer(...):
last_login = DatetimeField(format='iso-8601')
class Meta:
model = User
fields = ('email', 'displayname', 'is_active',
'date_joined', 'last_login')
それは再びまだ変更ません。
誰でも設定方法は分かりますか?
'DateTimeField型のオブジェクトで出力されませんISO-8601フォーマットの "..."は何を出力しますか? –
私は同じ問題に直面しています!このフィールドのvalidated_dataを使用すると、「2018-01-12 10:20:55」のようなものが出力されます(datetimeオブジェクトのデフォルト表現かもしれません)。私の文書の理解は、出力は "2018-01-12T10:20:55 + 00:00"でなければならないということです。私はvalidated_dataのisoformat()を今のところ適切な形式にするよう呼びますが、何かを見逃しているに違いありません... – Laurent