Проблема инициализации объекта - PullRequest
0 голосов
/ 01 ноября 2010

Я получаю странную ошибку при попытке создать объект Screen.Раньше он работал без проблем, но я получил эту ошибку, когда добавил новый атрибут в класс User.Этот атрибут связан с Screen в отношении многие ко многим через user_screens.Это ошибка:

"InvalidRequestError: Не удалось скомпилировать один или несколько преобразователей. Вероятно, исключение было подавлено в вызове hasattr (). Сообщение было: Не удалось скомпилировать один или несколько преобразователей. Возможно, исключение было исключено вВызов hasattr (). Сообщение было: класс 'zeppelinlib.screen.ScreenTest.Screen' не сопоставлен "

Это классы:

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))
    ip = Column("ip", String(20))
        ...

user_screens = Table(
            "user_screens",
            metadata,
            Column("user_id", Integer, ForeignKey("users.id")),
            Column("screen_id", Integer, ForeignKey("screens.id"))
        )

class User(rdb.Model):
    """Set up users table in the database"""
    rdb.metadata(metadata)
    rdb.tablename("users")

    id = Column("id", Integer, primary_key=True)
    name = Column("name", String(50))
    ...

    group = relationship("UserGroup", uselist=False)
    channels = relationship("Channel", secondary=user_channels, order_by="Channel.titleView", backref="users")
    mediaGroups = relationship("MediaGroup", secondary=user_media_groups, order_by="MediaGroup.title", backref="users")
    screens = relationship("Screen", secondary=user_screens, backref="users")

Возможно, я не добавил новое отношение к пользователюпотому что я действительно не знаю, в чем проблема ...

Спасибо за аванс!

1 Ответ

0 голосов
/ 04 ноября 2010

Попробуйте указать первичное соединение с помощью аргумента ключевого слова primaryjoin для одного (не знаю, какого) из ваших relationship s.Иногда (в сложных графах отношений) SQLAlchemy трудно понять, как это должно происходить.Работал у меня не раз, хотя и на 0.5.х.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...