У меня есть таблица отношений многих ко многим между таблицами Item и Detail, определенная следующим образом:
itemDetail = Table('ItemDetail',Base.metadata, \
Column('id', Integer, primary_key=True), \
Column('itemId', Integer, ForeignKey('Item.id')), \
Column('detailId', Integer, ForeignKey('Detail.id')), \
Column('endDate', Date), \
)
Если я определю внутри таблицы Item:
details = relation('Detail', secondary=itemDetail)
отлично работает.
Но мне нужно что-то немного другое. Столбец endDate в таблице ItemDetail указывает, какие данные являются действительными. Когда endDate имеет значение null, данные действительны.
Так что на самом деле мне нужно иметь в своей таблице предметов что-то вроде этого:
details = relation('Detail', secondary=validItemDetail)
Проблема в определении validItemDetail. Я пробовал сопоставление оператора select с произвольным классом, но безуспешно.
Есть идеи?