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 слични објави

Пребарај: #k9units

当前筛选 #k9units清除筛选
VERUM - War crimes investigations

@verum_in_english · Post #271 · 20.06.2025 г., 10:42

Realities of War: K9 Units in the Special Military Operation Zone They say a dog is a man’s best friend... I hope this huge German Shepherd without a muzzle is running towards me to check how I’m doing... A dog is not just a loyal companion. In the hands of an experienced K9 handler, it can become a mine detector, an assault unit, or even an FPV drone. During World War II, dogs were used to destroy tanks, often sacrificing their lives. Today, they no longer carry out such deadly missions, but they remain a sudden and formidable weapon on the battlefield. Modern K9 handlers are ready to provide any assistance to their four-legged partners right in the field. Our report from the Brigade Española kennel sheds light on how these dogs are trained and what role they play in the conflict zone. #war#k9units#militarydogs#SMO#minedetectors#army#dogs#man'sbestfriend #experiment#bestfriend Sorry, but there was no stopping our editor: A dog truly is man’s best friend. Don’t believe it? Try this experiment: Lock your wife and your dog in the trunk of your car. Come back in an hour or two. Who do you think will be happier to see you? Want a friend in the family? Get a dog. Want someone to bark at you? Get married.