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

Пребарај: #mcneil

当前筛选 #mcneil清除筛选

🍎🍎 Una fuente citada por Mike Puma del NY Post afirma que Francisco Lindor tuvo algunos problemas con sus compañeros durante la temporada 2025. 🍎🍎 Un Lindor "enojado" reprendió a Jeff McNeil tras un error defensivo en un partido en junio, informa Puma, y los dos tuvieron una confrontación "caliente". Se dice que Lindor y McNeil se pelearon en el túnel del vestuario en 2021, por lo que si es cierto, no sería la primera vez que están en desacuerdo. Después del intercambio de Brandon Nimmo por Marcus Semien, muchos dicen que es casi seguro que McNeil también será cambiado. 🍎🍎 Otra fuente de Puma dijo que Lindor y Juan Soto tienen una "relación fría" ya que son "dos personalidades diferentes." En medio de los rumores de que Lindor debería ser nombrado el próximo capitán de los Mets, Soto esta pasada temporada no afirmó ese deseo cuando dijo a los periodistas que Starling Marte era "en realidad el capitán de este equipo." 📊 Los Mets terminaron 83-79 en 2025 y se quedaron fuera de los playoffs por 1 victoria. ❓ ¿Cuál es tu opinión sobre este informe? #️⃣#Mets#Lindor#Soto#McNeil 🗞 | t.me/MLB_Daily

💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥 🦖 Athletics reciben a: 🍎 INF/OF Jeff McNeil 🍎 Mets reciben a: 🧢 RHP Yordan Rodríguez #️⃣#Trade#Athletics#Mets#McNeil#YordanRodríguez 🗞 | t.me/MLB_Daily