Рекурсивная проблема - PullRequest
       4

Рекурсивная проблема

2 голосов
/ 25 октября 2010

У меня проблема при импорте классов из одного в другой. я имею эти классы в разных модулях:

crm.py

from CRMContactInformation import CRMContactInformation

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)
        screen_id = Column("screen_id", Integer, )

        contactInformation = relationship(CRMContactInformation,
userlist=False, backref="crms")
        ....

CRMContactInformation.py

from CRM import CRM

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(CRM.id), primary_key=True)
        owner = Column("owner", String(50))
        .....

Как видите, у меня рекурсивная проблема, потому что я импортирую CRMContactInformation в CRM и CRM в CRMContactInformation. я получил эта ошибка или подобное:

«AttributeError: объект модуля не имеет атрибута»

Я пытался изменить импорт, импортируя весь путь. Не сработало либо вне.

Есть ли способ использовать объект метаданных для доступа к атрибуты таблиц? или другой способ решить это?

Заранее спасибо!

1 Ответ

0 голосов
/ 25 октября 2010

Задержка импорта:

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)
        screen_id = Column("screen_id", Integer, )

        ....

from CRMContactInformation import CRMContactInformation
CRM.contactInformation = relationship(CRMContactInformation, userlist=False, backref="crms")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...