Cerco di utilizzare i serializzatori DRF per serializzare un oggetto modello. Trovo che il DatetimeField in oggetto non emetterà "2015-10-21T09:28:53.769000Z"
del formato ISO-8601Imposta il formato DatetimeField della configurazione del framework di riposo django
Cerco documento DRF perché non posso produrre il formato ISO-8601. Secondo datetimefield dice:
format
- Una stringa che rappresenta il formato di output. Se non specificato, il valore predefinito è lo stesso valore della chiave delle impostazioni DATETIME_FORMAT, che sarà 'iso-8601', a meno che non sia impostato. L'impostazione su una stringa di formato indica che i valori di ritorno di to_representation devono essere forzati all'output della stringa. Le stringhe di formato sono descritte di seguito. L'impostazione di questo valore su Nessuno indica che Python
Significa E 'impostazione predefinita per l'output in formato iso-8601
se ho mai messo DATETIME_FORMAT
argomento? Non ancora, non è ancora cambiato.
quando provo a scrivere cornice del progetto Django come il seguente:
REST_FRAMEWORK = {
'DATETIME_FORMAT': "iso-8601",
}
o scrivo in argomento DatetimeField come la seguente:
class UserSerializer(...):
last_login = DatetimeField(format='iso-8601')
class Meta:
model = User
fields = ('email', 'displayname', 'is_active',
'date_joined', 'last_login')
E 'ancora nessun cambiamento di nuovo.
Qualcuno sa come impostarlo?
'DatetimeField in oggetto non emetterà "..." del formato ISO-8601' Che cosa emette? –
Sto affrontando lo stesso problema! Se uso il validated_data di questo campo, emette qualcosa come "2018-01-12 10:20:55" (che potrebbe essere la rappresentazione predefinita di un oggetto datetime?). La mia comprensione del documento è che l'output dovrebbe essere "2018-01-12T10: 20: 55 + 00: 00". Chiamo isoformat() sul validated_data per avere un formato corretto per ora, ma devo aver perso qualcosa ... – Laurent