Sobes.tech
Back to questions
Junior — Middle
55

В чем заключается использование Decorator для вычисляемых полей в модели pydantic?

Companies where asked
Код Открытия

Answer from AI

sobes.tech AI

В Pydantic для создания вычисляемых полей используется декоратор @property или специальный декоратор @pydantic.validator (для валидации), но чаще всего именно @property позволяет определить поле, значение которого вычисляется динамически на основе других полей модели.

Это полезно, когда нужно получить значение, которое не хранится напрямую, а вычисляется при обращении. Например:

from pydantic import BaseModel

class User(BaseModel):
    first_name: str
    last_name: str

    @property
    def full_name(self) -> str:
        return f"{self.first_name} {self.last_name}"

Здесь full_name — вычисляемое поле, которое не передается при инициализации, но доступно как атрибут модели. Такой подход помогает держать логику вычислений внутри модели, сохраняя удобство доступа к данным.