Как я могу настроить SQL классы алхимии с именами столбцов, которые отличаются от фактических SQL имен столбцов - и все еще использовать декларативную строку - PullRequest
0 голосов
/ 22 апреля 2020

Я смотрю на данные в системе инвентаризации. Имена все заглавные и болезненные. Я надеюсь, что ORM может помочь очистить это.

Вот как настроены классы:

class Item(Base):
    __tablename__ = 'items'
    item_number = Column('ITEMNUMBER', String, primary_key=True)
    description = Column(String, name='DESCR')

class VendingMachineItem(Base):
    __tablename__ = 'vendingMachineItems'
    item_number = Column(String, ForeignKey("Item.item_number"), primary_key=True, name='ITEMNUMBER')

Когда Query VendingMachineItem Я получаю эту ошибку:

InvalidRequestError: Не знаю, как присоединиться к; пожалуйста, используйте предложение ON, чтобы более четко установить sh левую сторону этого соединения

Когда Query VendingMachineItem с ForeignKey("items.item_number") Я получаю эту ошибку:

NoReferencedColumnError: Не удалось инициализировать целевой столбец для ForeignKey 'items.item_number' в таблице 'vendingMachineItems': таблица 'items' не имеет столбца с именем 'item_number'

, но работает без ошибок: ForeignKey('items.ITEMNUMBER'), ForeignKey(Item.item_number)

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