@taochanyuantu · Post #73 · 09.08.2022 г., 07:54
#MDSSCLOUD
Hashtags
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
Пребарај: #mdsscloud
@taochanyuantu · Post #73 · 09.08.2022 г., 07:54
#MDSSCLOUD
Hashtags
@AirportAnalysis · Post #1880 · 25.01.2025 г., 10:35
#MDSS#MDSSCLOUD 官网: https://mdss.369.cyou
Hashtags
@jngchannel · Post #575 · 25.08.2022 г., 06:21
#MDSSCLOUD #Catnet 已正式宣布更换运营团队
Hashtags
@jngchannel · Post #1413 · 11.12.2022 г., 02:00
#MDSSCLOUD #SS #深港专线 测速带宽 #武汉移动1200M 官网: https://mdss.cloud 频道: https://t.me/mdss_announce 群组: https://t.me/mdss_chat 套餐截图: https://t.me/taochanyuantu/73 我们近期观察到新的运营团队对线路进行了更换,更换成了深港专线,速度大幅度提升,不过这解锁还是不咋样,在线路方面采用两个移动入口,一个中山移动入口和一个佛山移动入口,落地包含AMZAON、Scloud、MIKU、DIGITALOCEAN、Nearoute等,部分落地复用,我们进行了去重处理 九折优惠码:1206
Hashtags
@jngchannel · Post #387 · 10.08.2022 г., 12:30
#MDSSCLOUD #SS #深港专线 测速带宽 #江苏电信2000M #广西联通1000M 官网: https://mdss.cloud 频道: https://t.me/mdss_announce 群组: https://t.me/mdss_chat 套餐截图: https://t.me/taochanyuantu/73 梦迪集团旗下机场,凭借其钞能力,拥有良好的延迟和不俗的速度,不过啥时候流媒体解锁和UDP也能支棱起来啊(