Использование defer или load_only с sqlmodel вернет основной идентификатор. Как можно избежать этого изначально?Python

Программы на Python
Гость
Использование defer или load_only с sqlmodel вернет основной идентификатор. Как можно избежать этого изначально?

Сообщение Гость »


Для объявления этой модели я использую SQLmodel:

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

class UserBase(SQLModel, table=True):
id: Optional[int]= Field(default=None, primary_key=True)
name: str
JWT: str
password: str
When i try to get it with this statement:

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

statement = select(UserBase).where(UserBase.name == user.name, UserBase.password == user.password).options(load_only(UserBase.JWT))
So i want to load only JWT from model or load everything but UserBase.id by using defer:

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

statement = select(UserBase).where(UserBase.name == user.name, UserBase.password == user.password ).options(defer(UserBase.id))
But SQLmodel will continuosly return UserBase.id. I can fix this by making SQL statement manually, but i want to know is there more native way ?
I print all variants with defer or load_only to console - they all have

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

SELECT userbase.id, userbase."JWT"...


Источник: https://stackoverflow.com/questions/781 ... -avoid-thi

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