SQLModel с FastAPI: редактируемое вычисляемое полеPython

Программы на Python
Anonymous
SQLModel с FastAPI: редактируемое вычисляемое поле

Сообщение Anonymous »

В моем приложении FastAPI есть следующая SQLModel:

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

class MyModel(SQLModel):
a: str
Я хочу добавить еще одно поле b, которое будет иметь значение по умолчанию, основанное на значении, указанном при создании модели. Это поле b также должно быть доступно для редактирования при создании модели.
Я пробовал использовать @computed_field, но оно позволяет только автоматически генерировать значение, а не переопределять его при создании модели.
Поле b должно выглядеть примерно так:

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

b: str = Field(default="option1" if len(a) > 5 else "option2")
Создание модели должно быть:

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

my_model = MyModel(a="abcde") 
чтобы получить:

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

MyModel(a="abcde", b="option2")
или:

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

my_model = MyModel(a="some_value", b="option3") 
чтобы получить:

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

 MyModel(a="some_value", b="option3")
Как создать редактируемое вычисляемое поле в SQLModel?

Подробнее здесь: https://stackoverflow.com/questions/789 ... uted-field

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