例如,我在模块a
上有一个声明类:
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
addresses = relationship("Address", backref="user")
现在,在模块b
中,我想使用映射的实体,但是添加一个方法:
from a import User
class UserWithExtraMethod(User):
def name_capitalized(self):
return self.name.capitalize()
user = UserWithExtraMethod()
print(user.name_capitalized)
但是,当我运行脚本时,会出现以下错误:
InvalidRequestError: Multiple classes found for path "User" in the registry of this declarative base. Please use a fully module-qualified path.
我在声明用户实体时遗漏了什么?我想重用先前声明的实体。
我想会是这样的:
class UserWithExtraMethod(User):
___magic_reuse_previous_mapper__ = True
def name_capitalized(self):
return self.name.capitalize()
目前没有回答
相关问题 更多 >
编程相关推荐