我有两个表格模型,一个是父模型,另一个是子模型。
这是我的父模型
class users_table(Base):
__tablename__ = 'users_table'
userid = Column(String(50), unique= True, primary_key= True, nullable= False)
username = Column(String(500), unique= True, nullable= False)
password = Column(String(500), nullable= False)
email = Column(String(500), nullable= False, unique= True)
role = Column(String(10), default= 'user', nullable= False)
created_on = Column(DateTime, nullable= False, default= datetime.datetime.utcnow)
updated_on = Column(DateTime, nullable= False, default= datetime.datetime.utcnow)
children = relationship("user_status_table")这是我的孩子模型
class user_status_table(Base):
__tablename__ = 'user_status_table'
id = Column(Integer, primary_key= True, nullable= False, unique= True, autoincrement=True)
userid = Column(String(50), ForeignKey('users_table.userid'), nullable= False, unique= True)
status = Column(String(50), default= 'active', nullable= False)
updated_on = Column(DateTime, nullable= False, default= datetime.datetime.utcnow)当运行我的服务器时,它给出了以下错误:
"When initializing mapper Mapper|users_table|users_table, expression 'user_status_table' failed to locate a name (\"name 'user_status_table' is not defined\"). 如果这是一个类名,请考虑在定义两个依赖类之后将此关系()添加到类中。“
发布于 2019-04-26 02:43:51
正如我所看到的,您正在尝试在users_table和user_status_table之间建立一对一的关系,因为您希望user_status_table.userid是惟一的,为此,请使用uselist标志
下面是一个简单的例子:
class Parent(Base):
__tablename__ = 'parent'
id = Column(Integer, primary_key=True)
child = relationship("Child", uselist=False, back_populates="parent")
class Child(Base):
__tablename__ = 'child'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey('parent.id'))
parent = relationship("Parent", back_populates="child")https://stackoverflow.com/questions/55848713
复制相似问题