【问题标题】:Sqlalchemy relation between classes in separate modules不同模块中的类之间的 Sqlalchemy 关系
【发布时间】:2014-03-24 02:46:51
【问题描述】:

对不起我的英语,但我试图解释:)

我在不同的模块中有两个模型:

lib.User 模块中的

user.py

Base = declarative_base(metadata=main_meta)

class User(Base):

... some fields ...

server = relationship("lib.Server.server.Server", uselist=False, back_populates="user")
lib.Server 模块中的

server.py

Base = declarative_base(metadata=main_meta)

class Server(Base):

... some fields ...

user = relationship("lib.User.user.User", uselist=False, back_populates="server")

当我尝试运行代码时出现错误:

Module 'User' has no mapped classes registered under the name 'server'

我的问题:如何在不同模块之间建立模型/类之间的关系?

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    使您的Base 实例成为第三个模块的一部分并将其导入user.py/server.py,以便UserServer 都继承自declarative_base 的同一个实例。然后确保在使用 SQLAlchemy 模型时这两个模块都已导入到您的应用程序中。

    【讨论】:

      猜你喜欢
      • 2012-07-28
      • 2011-11-18
      • 1970-01-01
      • 2018-10-31
      • 2020-11-13
      • 2023-03-17
      • 2012-07-11
      • 2016-04-29
      • 1970-01-01
      相关资源
      最近更新 更多