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

Пребарај: #stables

当前筛选 #stables清除筛选
Fintech & Banking EU

@bankandfintech · Post #435 · 09.09.2025 г., 08:59

🔗Stables🔗 🔲 Практический кейс от @DFosB перевода баксов с Wise на Stables 🔲Была задача получить GBP из UK и конвертнуть их в USDT 🔲Для сравнения на текущий момент момент курс р2р такого обмена начинается от 0,753-0,759 GBP/USDT. Был выбрано белый способ вывода по маршруту перевод GBP на Wise, перевод с Wise по АСН на Stables, вывод USDT со Stables на личный кошелёк 1️⃣Перевод на Wise поступил моментально от контрагента в воскресенье 2️⃣В понедельник приблизительно в 10:30 Мск создан перевод по АСН в Stables. За 500 фунтов Wise обещал начислить $672.03 (курс по xe.com - $677 потери 0,74%) 3️⃣В 14:16 JPMorgan Chase (Wise) перевёл эту сумму в Lead (Stables) 4️⃣В 23:05 деньги зашли на Stables. При конвертации вышло 666.52 USDC - Stables съел 0,83% комсы за обмен из бакса в стейбл 5️⃣Вывод USDT в сети Polygon предполагал комиссию 0.43 бакса, вывод в BSC - 0.39 бакса. Был выбран BSC 6️⃣Поступление средств заняло около 10 минут 🔲Итого: 500 фунтов = 666.1366 USDT, курс 0,7507 GBP/USDT. p2p похоронен заживо. Из недостатков: в общей сложности заняло 13 часов ну и общая потеря из GBP в USDT вышла 1,54%, что в общем-то для фунта вполне сносно #Stables#Wise 🔖Если вам нужна консультация 🔖Все наши посты тут 🔖Если хотите вступить в наш чат 🔖Тут все полезные рефки 🔖Если вы хотите написать пост на канале