Как сопоставить один класс с несколькими таблицами с помощью SQLAlchemy?

Допустим, у меня есть структура базы данных с тремя таблицами, которые выглядят так:

items
 - item_id
 - item_handle

attributes
 - attribute_id
 - attribute_name

item_attributes
 - item_attribute_id
 - item_id
 - attribute_id
 - attribute_value

Я хотел бы иметь возможность сделать это в SQLAlchemy: я

item = Item('item1')
item.foo = 'bar'

session.add(item)
session.commit()

item1 = session.query(Item).filter_by(handle='item1').one()
print item1.foo # => 'bar'

Я новичок в SQLAlchemy, и я нашел это в документации (http://www.sqlalchemy.org/docs/05/mappers.html#mapping-a-class-against-multiple-tables):

j = join(items, item_attributes, items.c.item_id == item_attributes.c.item_id). \
    join(attributes, item_attributes.c.attribute_id == attributes.c.attribute_id)

mapper(Item, j, properties={
    'item_id': [items.c.item_id, item_attributes.c.item_id],
    'attribute_id': [item_attributes.c.attribute_id, attributes.c.attribute_id],
})

Он только добавляет item_id и attribute_id к Item, и невозможно добавить атрибуты к объекту Item.

Это то, что япытаешься достичь возможного с помощью SQLAlchemy? Есть ли лучший способ структурировать базу данных, чтобы получить такое же поведениединамические колонки "?