, если вы сопоставили ViewMyTable
, запрос будет возвращать только те строки, которые имеют первичный ключ, отличный от NULL.Такое поведение характерно для версий 0.5 и ниже - на 0.6, если в каком-либо из столбцов первичный ключ имеет ненулевое значение, строка превращается в экземпляр.Укажите флаг allow_null_pks=True
для своих картографов, чтобы гарантировать, что частичные первичные ключи все еще учитываются:
mapper(ViewMyTable, myview, allow_null_pks=True)
Если в OTOH возвращенные строки имеют все нулевые значения для первичного ключа, то SQLAlchemy не может создать сущность, посколькуПоместите это в карту личности.Вместо этого вы можете получить доступ к отдельным столбцам, запросив их специально:
for id, index in session.query(ViewMyTable.id, ViewMyTable.index):
print id, index