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

Пребарај: #kanaks

当前筛选 #kanaks清除筛选
Egountchi Behanzin Officiel

@egountchibehanzinOfficiel · Post #6568 · 24.06.2024 г., 07:02

#NouvelleCalédonie Une nouvelle révolte populaire contre l’occupation française 🇫🇷 a débuté en #Kanaky. Suite à la déportation coloniale en métropole de sept leaders indépendantistes sur ordre de #Macron, les forces coloniales sur place sont débordées et ne parviennent plus à dégager les routes ni contenir la colère. Ils prennent la fuite! Une nouvelle Bérézina en vue ? Bizarrement, pas un mot dans les médias. Il y’a une censure des médias mensonges Sur injonction du gouvernement négrier de France. Mais grâce aux réseaux sociaux, la vérité reste accessible. Soutien indéfectible aux #Kanaks. Vous êtes dans vos droits, c’est de la légitime défense contre l’envahisseur, l'occupant. Défendez comme il se doit la terre de vos ancêtres et n’ayez crainte des milices loyalistes armées par l'état français et protégées par le démagogue #MoussaDarmanin avec ses troupes coloniales. Vive Kanaky ! Vive la liberté ! #EB @egountchibehanzinTV