Я пытаюсь определить модель SQLAlchemy/Elixer, которая может описывать следующее отношение. У меня есть таблица SSP, которая имеет несколько внешних ключей для таблицы POC. Я правильно определил отношения ManyToOne в объекте SSP (это позволяет мне правильно установить SSP.get(1).action.first_name
). То, что я хотел бы добавить, это другая сторона этих отношений, где я могу выполнить что-то вроде POC.get(1).csa
и вернуть список объектов SSP, в которых этот POC определяется как idPOCCSA.Python SQLAlchemy/Elixer Вопрос
Я знаю, что это было бы лучше всего для полиморфной ассоциации, но я действительно не могу вообще изменить схему БД (создание новой таблицы poc2ssp со столбцом для ассоциации type
).
class POC(Entity):
using_options(tablename = 'poc', autoload = True)
# These two line visually display my "issue":
# csa = OneToMany('SSP')
# action = OneToMany('SSP')
class SSP(Entity):
'''
Many to One Relationships:
- csa: ssp.idPOCCSA = poc.id
- action: ssp.idPOCAction = poc.id
- super: ssp.idSuper = poc.id
'''
using_options(tablename = 'spp', autoload = True)
csa = ManyToOne('POC', colname = 'idPOCCSA')
action = ManyToOne('POC', colname = 'idPOCAction')
super = ManyToOne('POC', colname = 'idPOCSuper')
Любые идеи для достижения этой цели? В FAQ Elixer есть хороший пример использования параметров primaryjoin и foreign_keys, но я не могу найти их в документации. Я как бы надеялся, что OneToMany() просто поддерживает параметр colname, такой как ManyToOne(). Что-то немного менее подробное.
прекрасно работает, я использовал обратный с отношением OneToOne(), не думает, чтобы применить его к OneToMany(). –