@AloneSnowflake · Post #396 · 16.06.2024 г., 21:31
𝐀dd 𝐒ticker ˓ 🔴 ˒ ༅ 𝐉oin 𝐂hannel ⋅•⋅ #Sticker#Boo#MonsterInc
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
Пребарај: #boo
@AloneSnowflake · Post #396 · 16.06.2024 г., 21:31
𝐀dd 𝐒ticker ˓ 🔴 ˒ ༅ 𝐉oin 𝐂hannel ⋅•⋅ #Sticker#Boo#MonsterInc
Hashtags
@djangoproject · Post #195 · 08.11.2016 г., 03:18
http://stackoverflow.com/questions/29269370/how-to-properly-create-and-run-concurrent-tasks-using-pythons-asyncio-module In the case of trying to concurrently run two looping Tasks, I've noticed that unless the Task has an internal await expression, it will get stuck in the while loop, effectively blocking other tasks from running (much like a normal while loop). However, as soon the Tasks have to wait--even for just a fraction of a second--they seem to run concurrently without an issue. Thus, the await statements seem to provide the event loop with a foothold for switching back and forth between the tasks, giving the effect of #concurrency. Example output with internal await: running async test ...#boo 0 ...#baa 0 ...boo 1 ...baa 1 ...boo 2 ...baa 2
Hashtags
@CosineGallery · Post #3741 · 15.11.2025 г., 12:23
無題 Source by pixiv 彰メロ 原始标签:#StellaSora#Boo#Teresa#テレサステラソラ#肚脐 自定义标签:#甜妹#兽耳#可爱 尺寸: 1680x2520 @CosineGallery | 网站 | 3717
@cosplayuploadtest2 · Post #102722 · 23.03.2025 г., 03:37
Title: Natsumi_Ikema_池間夏海,_デジタル限定_YJ_PHOTO_BOO_「なつみ」 Authors: #None Tags: #None#Natsumi_Ikema_池間夏海#デジタル限定_YJ_PHOTO_BOOK#Natsumi#Ikema#池間夏海#デジタル限定 #YJ#PHOTO#BOO #「なつみ」 recommendation: None TelegraphLinks:page-0-33