от дефолтного формата?
Обычно записывается в дефолтном в виде timestamp'а, а выводится уже с необходимым форматированием
насколько я понимаю, в модельке(в базе) хранится всегда в одном формате, поддерживаемом базой, а форматирование производится только на выводе
А если я сериализую и в Json отправляю, как мне поменять формат?
class MyCustomSerializer(...) some_datetime_field = SerializerMethodField() class Meta: model = MyModel fields = ('some_datetime_field') def get_some_datetime_field(self, obj): formated_data = ... obj.some_datetime_field ... # форматируешь как хочешь return formated_data
Спасибо
а где ты здесь присваиваешь значение , которое возвращается из функции в переменную some_datetime_field?
это особенность drf сериализаторов, если создать функцию для поля FIELD_NAME = SerializerMethodField(), которая называется def get_{FIELD_NAME} то будет она вычисляться
вообще лучше переопределить тип поля на самописный и перегрузить у него метод to_representation
разве от этого будет выйгрыш по скорости сериализации?
нет, но поле будет работать на запись
Обсуждают сегодня