таблицы поиска 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, чтобы увидеть, существует ли запись или нет

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос