Я получаю ошибки, когда пытаюсь создать таблицы один к одному.Экран содержит crm и crm содержит больше классов.Соотношение один к одному между crm, поэтому я хочу использовать идентификатор экрана в качестве первичного ключа в crm.И отношение один к одному между crm и некоторыми классами, я просто добавил один класс в качестве примера, поэтому дочерние элементы crm должны содержать идентификатор экрана в качестве первичного ключа.Когда я пытаюсь установить последнее отношение, это когда оно разрывается.Я пытался использовать оба, идентификатор crm и идентификатор экрана.
Я не работал.Я получаю ошибки, такие как «UnmappedClassError» при попытке использовать идентификатор crm в ContactInformation и «Не удается определить условие соединения между родительскими / дочерними таблицами в отношении CRM.contactInformation. Укажите выражение« primaryjoin ».отношение «ко-многим» также необходимо для «вторичного соединения», когда я пытаюсь использовать идентификатор экрана в ContactInformation.
Это мои классы:
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))
...