Mypy с SQLALchemy — ошибка: несовместимые типы в назначенииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Mypy с SQLALchemy — ошибка: несовместимые типы в назначении

Сообщение Anonymous »

У меня возникли проблемы с использованием mypy с последней версией sqlalchemy (2.0.36).
Когда код написан с использованием аннотированной декларативной формы (с использованием Mapped_column). p>
Например, код:

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

class Integration(Base):
__tablename__ = "integration"
id: Mapped[int] = mapped_column(primary_key=True)

user_id: Mapped[int] = mapped_column(ForeignKey("user.id"))
user: Mapped["User"] = relationship("User", back_populates="integrations")

provider_accounting_id: Mapped[int] = mapped_column(ForeignKey("provider.id"))
provider_accounting: Mapped["Provider"] = relationship(
foreign_keys=[provider_accounting_id]
)

provider_webshop_id: Mapped[int] = mapped_column(ForeignKey("provider.id"))
provider_webshop: Mapped["Provider"] = relationship(
foreign_keys=[provider_webshop_id]
)

active: Mapped[bool] = Column(Boolean, nullable=False, default=False)
sync_customer_ws_to_acc: Mapped[bool] = mapped_column(default=True)
sync_product_ws_to_acc: Mapped[bool] = mapped_column(default=True)
sync_order_ws_to_acc: Mapped[bool] = mapped_column(default=True)

syncs: Mapped[t.List["Sync"]] = relationship(back_populates="integration")
linked_objects: Mapped[t.List["LinkedObject"]] = relationship(
back_populates="integration"
)
выдает следующие ошибки:

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

syncly/models/integration.py:5: error: Module "sqlalchemy.orm" has no attribute "mapped_column"  [attr-defined]
syncly/models/integration.py:47: error: Incompatible types in assignment (expression has type "RelationshipProperty[User]", variable has type "Mapped[User]")  [assignment]
syncly/models/integration.py:50: error: Missing positional argument "argument" in call to "RelationshipProperty"  [call-arg]
syncly/models/integration.py:50: error: Incompatible types in assignment (expression has type "RelationshipProperty[Any]", variable has type "Mapped[Provider]")  [assignment]
syncly/models/integration.py:55: error: Missing positional argument "argument" in call to "RelationshipProperty"  [call-arg]
syncly/models/integration.py:55: error: Incompatible types in assignment (expression has type "RelationshipProperty[Any]", variable has type "Mapped[Provider]")  [assignment]
Я уже безуспешно пытался установить sqlalchemy2-stubs и настроить mypy для использования его в файле mypy.ini.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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