Использование 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
🟢¡EL THE INTERNATIONAL ESTÁ COMPLETO!🤯🔥
-Estos son los 16 equipos que estarán presentes en el 🏆The International 2025 😮
🔹TODOS ELLOS TIENEN EN MENTE UN SOLO OBJETIVO, LLEVARSE EL AEGIS Y CORONARSE CAMPEONES. 😤
-¿Quién crees que se llevará el TI este año? 🤔
#Tinbet#esports#dota2#TheInternational
@Info_Dota2
🟢¡NIGMA GALAXY CLASIFICA A SU PRIMER INTERNATIONAL!🤯🔥
La escuadra de 🇯🇴Nigma Galaxy logró derrotar a 🇪🇺OG en la final de Lower Bracket y se lleva el ÚLTIMO CUPO al 🏆The International 2025 😮
🔹Con este resultado, la organización de Nigma Galaxy clasifica a su primer THE INTERNATIONAL luego de 6 largos años de su creación. 🤫
El roster es:
1. 🇲🇾Ghost
2. 🇵🇰Sumail
3. 🇱🇧No!ob
4. 🇱🇧Omar
5. 🇱🇧GH
Y si, tristemente OG se queda fuera del THE INTERNATIONAL por tercer año consecutivo. 😿
#Tinbet#esports#dota2#TheInternational
@Info_Dota2
Hasta ahora los picos de view de este #TI2025 segun Esports Charts .... curiosamente todas éstas partidas que fueron las más vistas ocurrieron el mismo día una detrás de la otra
#TheInternational#dota2
@Info_Dota2
Valve ha anunciado oficialmente la lista de equipos que han recibido invitaciones directas al torneo más importante del año: The International 2025. En total, ocho equipos fueron invitados directamente:
✔️ Team Liquid
✔️ PARIVISION
✔️ BetBoom Team
✔️ Team Tidebound
✔️ Gaimin Gladiators
✔️ Team Spirit
✔️ Team Falcons
✔️ Tundra Esports
Las ocho plazas restantes se definirán a través de los clasificatorios regionales. 🌎
#Dota#Esports#Theinternational#Valve
@Info_Dota2
🟢¡EL CEREBRO DEL THE INTERNATIONAL! 🤯🔥
Tras su coronación como Campeón del 🏆THE INTERNATIONAL 2025 con la escuadra de 🇯🇴Falcons. El canadiense "🇨🇦AUI_2000" se convierte en el primer atleta de dota 2 en ganar 3 ediciones del THE INTERNATIONAL. 👀
✅ CAMPEÓN 🏆The International 2015 con 🇺🇲EVIL GENIUSES (Jugador)
✅ CAMPEÓN 🏆The International 2022 con 🇪🇺TUNDRA ESPORTS (Coach)
✅ CAMPEÓN 🏆The International 2025 con 🇯🇴FALCONS (Coach)
🔹Para ti ¿Cuenta como el primer TRICAMPEÓN de TI o es necesario ser jugador para ser merecedor del título? 🤔
#Tinbet#esports#dota2#TheInternational#ti2025
@Info_Dota2
🟢¡LOS HALCONES SE PROCLAMAN CAMPEONES DEL 🏆THE INTERNATIONAL!🔥
-🇯🇴FALCONS ejecuta un juego magnífico de pick-offs en el último mapa y consigue derrotar a 🇨🇳Xtreme Gaming en esta GRAN FINAL 🫡
🔹FALCONS reclama su primer AEGIS DE LOS CAMPEONES 😲
-SKITER Y SNEYKING son oficialmente BICAMPEONES del THE INTERNATIONAL 👏😊
AME sigue siendo el REY SIN CORONA 😭
#Tinbet#esports#dota2#TheInternational#ti2025
@Info_Dota2
🟢¡ASÍ QUEDAN LAS LLAVES TRAS EL PRIMER DÍA DE COMPETENCIA EN LOS PLAYOFFS DEL 🏆The International 2025 !🔥
Mañana arranca el segundo día con la serie de eliminación entre 🇧🇷HEROIC🇵🇪 vs 🇪🇺TUNDRA a las ⏰04:00 AM 🫡
-¿Cómo les fue con sus predicciones? 🤔
#Tinbet#esports#dota2#TheInternational#ti2025
@Info_Dota2
🟢¡NO TENDREMOS TRI-CAMPEONATO!😱🔥
🏆The International - Elimination Stage
-🇯🇴Team Falcons consigue derrotar a 🇷🇺Team Spirit en el segundo mapa y es el ÚLTIMO EQUIPO en CLASIFICAR a los PLAYOFFS de este 🏆The International 2025 😉
🔹🇷🇺Team Spirit, el favorito para el tricampeonato, queda ELIMINADO del torneo 👀
⚔️Eso es todo mis reyes, de aquí no hay dota hasta el 11 donde comienzan los PLAYOFFS. 🙂
#Tinbet#esports#dota2#TheInternational#ti2025
@Info_Dota2
🟢¡RESUMEN DEL DÍA 2!🔥
Terminó el segundo día de competencia en el 🏆The International y esta Swiss Stage ya tiene a su primer eliminado, la escuadra de "🇵🇭Nemesis" 🫡
✅🇨🇳Xtreme Gaming y 🇨🇳Tidebound dominan la Swiss Stage. Mañana se deciden los playoffs.
🔹🇺🇦NA'VI, 🇯🇴Nigma, 🇵🇭BOOM y 🇺🇸Wildcard se jugarán la vida el día de mañana en las series de eliminación. De ellos 4, 2 quedarán eliminados.
#Tinbet#esports#dota2#TheInternational#ti2025
@Info_Dota2
𝐋𝐎 𝐒𝐔𝐅𝐑𝐄 𝐂𝐑𝟏𝐓 🥺💔
Andreas Franck "Cr1t-" Nielsen, support de Team Falcons, comentó en su página de X sobre la derrota de su equipo en The International 2024.
"Durante varios días he estado digiriendo todo lo que sucedió. Quiero agradecer a todos los que continúan apoyándome, así como a mis compatriotas que me me animaron mucho.
Realmente quería ganar este torneo. Nunca he deseado en mi vida, y probablemente no desee, ganar un torneo como este The International. Pero no nos rendiremos, espero con ansias la oportunidad de competir nuevamente por la victoria el año que viene."
#valve#theinternational#esb#Dota2#esports
@Info_Dota2
🟢¡EL 🏆THE INTERNATIONAL 2025 YA TIENE FECHA Y LUGAR! 🤯🔥
-A través de un blog en la página oficial de Dota 2, Valve anunció que el 🏆THE INTERNATIONAL de este año se jugará en las maravillosas tierras de Hamburgo-Alemania 🇩🇪👀
🔹Recordemos que el primer The International de la historia se jugó en Alemania. 😉
🔸Esta edición contará con 16 equipos que se dividirán entre invitados directos y clasificados regionales.
📅El torneo iniciará en la primera semana de Septiembre, el evento principal será entre el 11 y 14 de ese mes en el Barclays Arena.
#Tinbet#esports#dota2#TheInternational#Hamburgo
@Info_Dota2
𝐘𝐀𝐓𝐎𝐑𝐎 𝐄𝐒 𝐎𝐓𝐑𝐎 𝐋𝐄𝐕𝐄𝐋 👏🏻🔝
El midlaner de Gaimin Gladiators, Quinn "Quinn" Callahan, habló sobre lo que piensa del ex hard carry de Team Spirit. ⚔️
"Yatoro es uno de los mejores jugadores de todos los tiempos. Es muy talentoso y seguro. Será triste competir en torneos sin él, ya que tiene mucho talento y habilidad. Es divertido verlo jugar. Es el Miracle- de nuestra época y es el único jugador en nuestra era que se puede comparar con Amer."
¿Y tú, extrañarás estás de acuerdo con Quinn?
#Gaming#Dota#EsportsChallenge#esb#esports#theinternational#valve
@Info_Dota2