Ich verwende DRF> 3.0; Ich möchte die Serialisierung eines DateTime-Felds in meinem Modell steuern. Insbesondere möchte ich das Datum-Uhrzeit in ANY Zeitzone (nicht nur in den Einstellungen.TIME_ZONE; das ist die Standardeinstellung) ausgegeben werden. Die Zeitzone, die ich verwenden möchte, wird als Schlüsselwortargument empfangen, wenn ich eine Instanz meines Serialisierers erstelle. Allerdings bekomme ich eine AttributeError
, wenn ich versuche, die Zeitzone auf der MySerializer.deployment_time.timezone = self.timezone
Codezeile einzustellen.Django Rest Framework - Zeitzone für Datetime-Feld
Wie kann ich das Attribut "timezone" in der "deployment_time" -Instanz festlegen. Oder gibt es einen anderen Weg, dies zu erreichen?
class MySerializer(serializers.ModelSerializer):
deployment_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', input_formats=['%Y-%m-%d %H:%M'])
def __init__(self, *args, **kwargs):
self.timezone = kwargs.pop('timezone') if 'timezone' in kwargs else None
super(MySerializer, self).__init__(*args, **kwargs)
if self.timezone:
MySerializer.deployment_time.timezone = self.timezone
AttributeError: type object 'MySerializer' has no attribute 'deployment_time'