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

Пребарај: #messagebroker

当前筛选 #messagebroker清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #852 · 31.01.2024 г., 21:19

Creating a Message Broker in C# Hello everyone! Our workshop series is making a comeback after a hiatus, and we're thrilled to announce the next session happening this upcoming Sunday. The topic on the agenda is "Creating a Message Broker in C#". Our close friend Asadbek will guide us through the process of constructing the fundamental structure of a message broker, providing valuable insights into the inner workings of message brokers like RabbitMQ, Kafka. Stay tuned for future sessions where we'll delve into more intermediate topics related to .NET. Your active participation is encouraged, so mark your calendars, and we look forward to seeing you this Sunday! Date: 4-February, 20:00 Link: Zoom Speaker:Asadbek Sindarov #messagebroker#csharp#dotnet Telegram | Instagram | Youtube | Linkedin

MDC Uzbekistan

@mdcuzbekistan · Post #628 · 07.01.2023 г., 14:57

.NET loyihalarida RabbitMQ dan foydalanish Menimcha barchangiz message-broker so'zini eshitgan bo’lsangiz kerak, kamida qulog'ingizga chalingan. Mana osha kun keldi inshaAlloh. Ushbu mahorat darsida sizlar bilan RabbitMQ tehnologiyasi bilan tanishamiz. Mavzuni kengroq yoritib berish uchun O'tkirbek Sobirjonovni speaker sifatida taklif etdik. Barchangizni ushbu mahorat darsida kutib qolamiz. Kirsangiz hursand bo'lamiz, kirmasangiz hafa bo'lish yo'q ) Sana: 8-yanvar, 20:00 Havola: Zoom Speaker: O'tkirbek Sobirjonov #rabbitmq#queueing#messagebroker#consumer .NET Uzbekistan Community ➖➖➖➖➖➖➖➖➖➖ Telegram | Instagram | Youtube