-
Pydantic 으로 dataclass 대체하기python/응용 2023. 7. 29. 22:13
https://wefree.tistory.com/280 의 dataclass 기능을 pydantic 2.x 로 대체해 보자
import random import string from typing import Any from pydantic import BaseModel, Field, ConfigDict def generate_id() -> str: return ''.join(random.choices(string.ascii_lowercase, k=12)) class Person(BaseModel): name: str phone_numbers: list[str] = [] id: str = Field(default_factory=generate_id) @property def phone_numbers_len(self) -> int: return len(self.phone_numbers) model_config = ConfigDict(frozen=True) def model_post_init(self, __context: Any) -> None: pass
'python > 응용' 카테고리의 다른 글
Tips (0) 2023.08.20 Generators in python (0) 2023.08.20 functools.cache (0) 2023.07.13 pydantic: dictionary 를 object 로 변환 / json 출력 (0) 2023.07.10 dataclass: sort (0) 2023.07.10