TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 1 слични објави

Пребарај: #europeanlogistics

当前筛选 #europeanlogistics清除筛选

🚢DFDS фиксирует рост грузопотоков в феврале. Датская судоходная и логистическая группа DFDS сообщила о росте грузовых перевозок в феврале. Общий объём перевозок достиг 3,5 млн линейных метров автопалуб, что на 3% больше, чем в аналогичном месяце прошлого года. С учётом изменений в маршрутной сети рост составил 1,6%. Основной вклад внесли маршруты Северного моря, где увеличились перевозки между континентальной Европой и Великобританией. Также рост был зафиксирован на направлениях Средиземного моря, Балтики и Гибралтарского пролива, несмотря на сокращение рейсов на отдельных линиях и неблагоприятные погодные условия. На линии Ла-Манш объёмы перевозок выросли благодаря запуску новых сервисов на Джерси, тогда как трафик через Дуврский пролив остался примерно на уровне прошлого года. За последние 12 месяцев общий объём грузовых перевозок составил 41,6 млн линейных метров автопалуб, что на 0,6% больше год к году. При этом пассажирские перевозки снизились: в феврале количество пассажиров упало на 23,3% до 181 000, а за год составило около 5,1 млн человек, что ниже уровня предыдущего периода. Компания связывает снижение пассажирского трафика с неблагоприятными погодными условиями и уменьшением числа рейсов на некоторых направлениях. 📌DFDS (Det Forenede Dampskibs-Selskab) — датская судоходная и логистическая компания, основанная в 1866 году. Компания является публичной и торгуется на Nasdaq Copenhagen, а её крупнейшими акционерами выступают институциональные инвесторы. #DFDS#RoRoShipping#FreightTransport#EuropeanLogistics#ShortSeaShipping