@LeagueOfLegendsLatamSur · Post #2619 · 25.02.2021 г., 19:54
#Sad
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
Пребарај: #sad
@LeagueOfLegendsLatamSur · Post #2619 · 25.02.2021 г., 19:54
#Sad
Hashtags
@ukraine_war_truth · Post #44 · 24.11.2024 г., 02:20
Ukraine has 2-7 trillion dollars of minerals that the US wants to get its hands on. Remember how at the beginning of the war Western propaganda claimed this was some righteous fight for democracy, lol? Light VS dark struggle? Well, no one is even pretending anymore - its all about the Benjamins. And if Western politicians and American and global corporations that have made hundreds of billion off of this suffering always knew that, it might be a surprise to some good-hearted people in the West who believed those lies. Show this clip to them, please. I also found a version with Ukrainian subtitles. If you have any friends from there, forward it to them too, please. So that they know what almost a million of their sons, fathers and husbands have died for - so that America can exploit their country for generations to come... #sad. Very, very sad, as the future president likes to say... Please subscribe to our channel - help share the Ukraine War Truth! Peace!
Hashtags
@Lash_gif · Post #40908 · 15.08.2023 г., 19:23
#girl | #sad clb: #other
@Lash_gif · Post #35410 · 09.01.2023 г., 16:18
#girl | #sad Clb: #other
@Lash_gif · Post #34813 · 26.11.2022 г., 07:54
#girl | #sad Clb: #other
@Lash_gif · Post #34722 · 19.11.2022 г., 07:35
#girl | #sad Clb: #other
@Lash_gif · Post #43260 · 16.01.2024 г., 02:59
#boy | #sad Clb: #other
@Lash_gif · Post #41283 · 31.08.2023 г., 17:44
#boy | #sad Clb: #other
@Lash_gif · Post #41126 · 22.08.2023 г., 11:49
#boy | #sad Clb: #other
@Lash_gif · Post #39644 · 30.06.2023 г., 08:32
#boy | #sad Clb: #other
@Lash_gif · Post #39577 · 27.06.2023 г., 07:06
#boy | #sad Clb: #other
@Lash_gif · Post #39486 · 23.06.2023 г., 06:52
#boy | #sad Clb: #other