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

Резултати

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

Пребарај: #quarantaine

当前筛选 #quarantaine清除筛选
ÉTIENNE CHOUARD

@chouard · Post #289 · 22.11.2021 г., 21:04

On y est. L'#Australie annonce que l'armée les aide à transférer des Covid19 positifs pour les mettre dans les camps de #quarantaine. "Nous avons augmenté notre action: certaines régions ont un confinement où les gens ne peuvent sortir que sous urgence ou si la loi le demande. Il est probable que plus de résidents soient transférés à Howard Springs (camp de quarantaine), comme positifs ou cas contacts. Nous avons identifié 38 positifs qui sont transportés pour le moment." Il cite qu'il remercie le 1er ministre pour le soutien de L'ARMEE va les aider pour les transports de positifs avec leurs camions. Si vous n'avez jamais vu à quoi ressemblent ces camps de quarantaine, ils sont bien réels et ils sont ici https://t.me/momotchiii/1918) via @disclosetv

ÉTIENNE CHOUARD

@chouard · Post #222 · 26.10.2021 г., 20:39

Australie: vous vous souvenez des photos des camps de quarantaine que je vous avais montrées? La première ministre du Queensland admet face caméra que les #camp de #quarantaine qu'ils ont construits seront, entre autres, pour les non-vaccinés. (la vidéo est coupée où elle mentionnait aussi les "retours de voyage") https://twitter.com/HeleneSutter/status/1451347706002223111