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

Пребарај: #craftology

当前筛选 #craftology清除筛选
CRAFT BAR SKILLS ACADEMY

@craftbarskillsacademy · Post #296 · 27.03.2023 г., 18:16

Porto Ronco ( Порто Ронко) - коктейль, знаменитый, в первую очередь, благодаря роману Э.Ремарка «Три товарища» ( E.M.Remarque “Three Comrades”) .Коктейль упоминается в романе не единожды и описывается, что «портвейн, смешанный с ямайским ромом, краснеет анемичными щеками, согревает, бодрит, а также вселяет надежду и доброту». Коктейль назван «Порто Ронко» в честь одноименной швейцарской деревни Порто Ронко на границе с Италией, где у Ремарка был собственный особняк. Здесь писатель провел несколько лет, а затем вернулся на склоне лет и последние 12 лет жил в Порто-Ронко, где и был похоронен. Главная проблема коктейля Порто Ронко в том, что Ремарк не оставил точного состава и торговых марок. Известно лишь, что ром должен быть ямайским, но непонятно каким: белым, золотым или темным. Под вопросом и тип портвейна. Поэтому нам стоит только догадываться и подбирать свою версию «литературного» коктейля. На основании исторических данных принято считать, что следует использовать золотой ром и красный сладкий портвейн легкой или средней выдержки. Если коктейль слишком сладкий, то можно добавить несколько капель ангостуры или апельсинового биттера, или вывести свой баланс. Не претендуя на звание «лучшего» варианта, просто предлагаем версию легендарного коктейля, насыщенную, плотную и яркую! (Конечно, это уже, можно сказать, и другая коктейльная категория, но вдохновлённая именно невероятным сочетанием рома и портвейна Porto Ronco). Porto Ronco ( variation, а в узких кругах известный как “Ромовый дневник») бар «Аптека» Портвейн красный Ливадия 30 мл Ром Viejo de Caldas 5 Y.O. 20 мл Ром Navy Island Jamaica 10 мл Ликер Fruko Schulz Amaretto 10 мл Сок лимона 15 мл Бальзамический крем 5 мл https://www.instagram.com/reel/CqQKZ4eAwLF/?igshid=YmMyMTA2M2Y= #craftology#cocktails