Pydantic отдельная проверка схемы от логической/функциональной проверкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pydantic отдельная проверка схемы от логической/функциональной проверки

Сообщение Anonymous »

Предположим, у меня есть эта модель:

Код: Выделить всё

class User(BaseModel):
name: str
email: EmailStr
phone_number: str
job_title: str
company: str
salary: int

@field_validator('company')
def valid_company(cls, company: str) -> str:
# validate that the company exists...
return company
Однако я хочу предоставить разработчику возможность проверять схему и логику отдельно.
Я думал об этом :

Код: Выделить всё

class User(BaseModel):
name: str
email: EmailStr
phone_number: str
job_title: str
company: str
salary: int

class UserValidator(User):
@field_validator('company')
def valid_company(cls, company: str) -> str:
# validate that the company exists...
return company
Таким образом, разработчик может использовать User vs UserValidator для проверки схемы и логики.
Однако модель User используется в других моделях также. Поэтому мне приходится переопределить некоторые поля для некоторых моделей, например:

Код: Выделить всё

class Account(BaseModel):
user: User
...

class AccountValidator(Account):
user: UserValidator

custom_validators...
Есть ли лучший способ сделать это? Может быть, даже использовать другую библиотеку?

Подробнее здесь: https://stackoverflow.com/questions/790 ... validation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Есть ли нужна отдельная ключевая схема (кроме схемы для поля) во время написания продюсера Avro?
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Моделирование логической схемы в Python
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Отдельная настройка, тестирование и проверка в pytest с гипотезой в качестве контекста покрытия.
    Гость » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Гость
  • Vertx(4.5.7) OutputUnit не выдает сообщения проверки при сбое проверки схемы
    Anonymous » » в форуме JAVA
    0 Ответы
    88 Просмотры
    Последнее сообщение Anonymous
  • Проверка схемы с LXML в Python: как получить ошибки проверки?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»