#python #select #many-to-many #sqlalchemy
#python #выберите #многие ко многим #sqlalchemy
Вопрос:
У меня есть таблица отношений «многие ко многим» между таблицами 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),
)
Если я определяю элемент внутри таблицы:
details = relation('Detail', secondary=itemDetail)
это работает нормально.
Но мне нужно что-то немного другое. Дата окончания столбца в таблице ItemDetail указывает, какие сведения являются допустимыми. Когда конечная дата равна нулю, данные действительны.
Итак, на самом деле, мне нужно было бы иметь в моей таблице элементов что-то вроде этого:
details = relation('Detail', secondary=validItemDetail)
Проблема заключается в определении validItemDetail. Я безуспешно пытался сопоставить оператор select с произвольным классом.
Есть идеи?
Комментарии:
1. Я понял это. Я сделал: validItemDetail = select(itemDetail.columns,itemDetail.columns[‘EndDate’]==None,[]).alias(‘validItemDetail’)
2. Вы должны ответить на свой собственный вопрос и затем принять его.