таблицы поиска sqlalchemy
Привет у меня есть стол в форме 3NF
ftype_table = Table(
'FTYPE',
Column('ftypeid', Integer, primary_key=True),
Column('typename', String(50)),
base.metadata,
schema='TEMP')
file_table = Table(
'FILE',
base.metadata,
Column('fileid', Integer, primary_key=True),
Column('datatypeid', Integer, ForeignKey(ftype_table.c.datatypeid)),
Column('size', Integer),
schema='TEMP')
и картографы
class File(object): pass
class FileType(object): pass
mapper(File, file_table, properties={'filetype': relation(FileType)})
mapper(FileType, file_table)
предположим, что таблица Ftype содержит 1: TXT 2: AVI 3: PPT
то, что я хотел бы сделать, это следующее, если я создаю объект File, как это:
file=File()
file.size=10
file.filetype= FileType('PPT')
Session.save(file)
Session.flush()
является то, что таблица файлов содержит fileid: xxx, размер: 10,datatypeid: 3
К сожалению, запись добавляется в таблицу FileType, и этот идентификатор передается в таблицу файлов.
Есть ли умный способ добиться вышеуказанного с помощью sqlalchemy без необходимости делать запрос к таблице FileType, чтобы увидеть, существует ли запись или нет
Спасибо