У меня есть модель Travel, необходимо принять Unix значение извне, как почтальон, затем преобразовать в DateTimeField для сохранения данных
class MyModel:
class Meta:
abstract = True
def ToDateTime(self,timestamp):
date=datetime.fromtimestamp(timestamp)
return date
Travel(MyModel):
departure_at = models.DateTimeField()
arrival_at = models.DateTimeField()
Serializer
class TravelSerializer(serializers.ModelSerializer):
departure_at=serializers.DateTimeField(write_only= True)
arrival_at=serializers.DateTimeField(write_only= True)
class Meta:
model=Travel
fields = ('departure_at','arrival_at')
def validate(self, attrs):
attrs = self.add_departure_at(attrs)
attrs = self.add_arrival_at(attrs)
return attrs
def add_departure_at(self,attrs):
departure_at=attrs['departure_at']
obj=BaseModel()
todate=obj.ToDateTime(int(arrival_at))
return todate
Данные почтальона
{
"departure_at": "1585750708",
"arrival_at" : "1585664308",
}
, но здесь Я получаю эту ошибку
{
"departure_at": [
"Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
],
"arrival_at": [
"Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
]
}
Как решить эту ошибку?