Необязательная строка аннотации типа в SQLModelPython

Программы на Python
Ответить
Anonymous
 Необязательная строка аннотации типа в SQLModel

Сообщение Anonymous »

Я работаю над проектом FastAPI/SQLModel и, поскольку Python 3.9 объявлен устаревшим, я заменяю каждый необязательный[X] на X | Нет.
У меня проблема со строками аннотаций типа.
Например, возьмем этот класс

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

from typing import Optional

class OAuthAccount(SQLModel, table=True):
__tablename__ = "oauthaccount"
id: int | None = Field(default=None, primary_key=True)
user: Optional["User"] = Relationship(back_populates="oauth_accounts")
Если я заменю последнюю подсказку типа на «Пользователь» | Нет Я получаю эту ошибку

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

E   TypeError: unsupported operand type(s) for |: 'str' and 'NoneType'
Есть ли какой-нибудь способ решить эту проблему, или я застрял на необязательном?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-sqlmodel
Ответить

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

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

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

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

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