Sqlalchemy在不同模块中的类之间的关系

时间:2014-02-22 11:48:54

标签: python sqlalchemy

对不起我的英语,但我试着解释一下:)

我在两个单独的模块中有两个模型:

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'

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

1 个答案:

答案 0 :(得分:2)

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