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

Пребарај: #falschepropheten

当前筛选 #falschepropheten清除筛选
Alien‘s Best Friend

@aliensbestfriend · Post #10043 · 08.08.2024 г., 13:12

Immer wieder wird auf Menschen mit dem Finger gezeigt: DER ist ein Gatekeeper, DER ist ein Freimaurer, DIE wollen nur Geld sammeln, DIE sind gesteuerte Opposition. Oder in unserem Fall: DIE haben bewusst einen Bezug zum Holocaust hergestellt und sind deshalb rechtsextrem. 🙄 Welche dieser Vorwürfe sind NICHT nur, meist nachgeplapperte Unterstellungen, sondern basieren auf schlagkräftigen Beweisen? Wer weiß wirklich, was in den betreffenden Köpfen vor sich geht? In den meisten Fällen kennt man die entsprechenden Menschen nicht mal persönlich, nimmt sich aber heraus, das eigene Urteil herauszuschreien. Und kann es nicht sein, dass diejenigen, die andere schlechtzumachen versuchen, ihre eigenen Defizite gar nicht bearbeiten, oder sich dessen nicht mal bewusst sind? Sich aber erhaben fühlen? Man kann kritisch sein, alles in Betracht ziehen ohne dass man dies öffentlich macht. Mutmaßungen öffentlich zu machen zeugt entweder von Schwäche oder von Bösartigkeit. Tut Euch selber den Gefallen und hört auf damit. Es macht alles nur noch schwerer. Und hört nicht auf falsche Propheten. Wenn JEDER vor seiner eigenen Haustüre kehren würde, wäre die Welt ein sauberer Ort. @aliensbestfriend #lassdieSchwerelos #lebenundlebenlassen #falschePropheten https://youtu.be/DhXKnDs8bfQ?si=vAV-SQWuTKNgnSUp