0
当我尝试创建表一对一关系时出现错误。屏幕包含crm和crm包含更多类。这个关系是crm之间的一对一关系,所以我想使用屏幕ID作为crm中的主键。而且这个关系在crm和一些类之间是一对一的关系,我只是添加了一个类作为示例,所以crm的子项必须包含一个屏幕标识作为主键。当我尝试做出最后一次关系时,就是它破裂的时候。我试图使用,crm id和屏幕id。创建表一对一关系的问题
我没有工作。当我尝试在ContactInformation中使用crm id时出现“UnmappedClassError”等错误,并且“无法确定关系CRM.contactInformation上的父/子表之间的连接条件。指定'primaryjoin'表达式。如果这是一个多 - 当我尝试在ContactInformation中使用屏幕标识时,还需要'secondaryjoin'。
这些都是我的课:
class Screen(rdb.Model):
"""Set up screens table in the database"""
rdb.metadata(metadata)
rdb.tablename("screens")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(100))
....
crm = relationship("CRM", uselist=False, backref="screens")
class CRM(rdb.Model):
"""Set up crm table in the database"""
rdb.metadata(metadata)
rdb.tablename("crms")
id = Column("id", Integer, ForeignKey("screens.id"), primary_key=True)
contactInformation = relationship("crm_contact_informations", uselist=False, backref="crms")
....
class CRMContactInformation(rdb.Model):
"""Set up crm contact information table in the database"""
rdb.metadata(metadata)
rdb.tablename("crm_contact_informations")
**id = Column("id", Integer, ForeignKey("screens.id"), primary_key=True)**
owner = Column("owner", String(50))
...