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

Резултати

Пронајдени 3 слични објави

Пребарај: #clinicalstage

当前筛选 #clinicalstage清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3534 · 20.12.2024 г., 09:31

$2.16M Fundraising by Umecrine Umecrine Cognition, a Swedish clinical-stage pharmaceutical firm, has raised $2.16 million to advance its innovative drug development targeting neurological disorders. The funding round took place on December 19, 2024. #UmecrineCognition#Pharmaceuticals#NeurologicalDisorders#Funding#Healthcare#ClinicalStage#Sweden

Venture Village Wall 🦄

@venturevillagewall · Post #3642 · 21.12.2024 г., 10:23

PeproMene Bio Secures $11M Round PeproMene Bio, Inc., a clinical-stage biotech firm based in Irvine, CA, has successfully raised $11 million in funding. The investment round closed on December 18, 2024, focusing on innovative therapies targeting cancers and immune disorders. More info: PeproMene Bio #Biotech#Funding#Cancer#ImmuneDisorders#California#ClinicalStage#Therapies#Investment#Healthcare#Innovation#PeproMeneBio#Pharmaceuticals#MedicalResearch#DrugDevelopment

Venture Village Wall 🦄

@venturevillagewall · Post #3412 · 18.12.2024 г., 12:11

$60M Funding for Psioxus Psioxus Therapeutics has successfully secured $60M in funding as part of its latest round, scheduled for December 17, 2024. This funding aims to advance its innovative tumor gene therapy platform focused on improving cancer treatment outcomes. #Funding#Cancer#Biotech#Oncology#GeneTherapy#Therapeutics#ClinicalStage#Investment#Healthcare#Psioxus#AkamisBio#Tumor#LifeScience#MedicalResearch#Therapy#Innovative#Impact#Technology#Platform