Я использую инфраструктуру Flask с sqlalchemy и не могу запросить некоторые связанные таблицы результатов.
Пользователи> имеют много> заказов
Итак, у меня есть заказ, и я хочу запросить пользователя, которому принадлежит заказ.
order = Order.query.get( id )
return order.user()
Когда я вызываю это, я получаю, что объект «Пользователь» не может быть вызван. Вот как определяется мое отношение:
# ----------------------------------------------------------------------------------
# MODELS
# ----------------------------------------------------------------------------------
class User( object ):
__tablename__ = 'user'
query = db_session.query_property()
class Order( object ):
__tablename__ = 'order'
query = db_session.query_property()
# ----------------------------------------------------------------------------------
# MODELS SCHEMA
# ----------------------------------------------------------------------------------
users_table = Table( 'user', metadata,
Column( 'id', Integer, primary_key = True ),
Column( 'username', String( 50 ), unique = True ),
Column( 'email', String( 50 ), unique = True ),
Column( 'password', String( 32 ), nullable = False ),
...
mysql_engine = 'InnoDB',
mysql_charset = 'utf8'
)
orders_table = Table( 'order', metadata,
Column( 'id', Integer, primary_key = True ),
Column( 'user_id', Integer, ForeignKey( 'user.id' ) ),
Column( 'transaction_id', String( 32 ), unique = True ),
...
mysql_engine = 'InnoDB',
mysql_charset = 'utf8'
)
# ----------------------------------------------------------------------------------
# MAPPERS
# ----------------------------------------------------------------------------------
mapper( User, users_table, properties = {
# has many
'orders' : relationship( Order )
} )
mapper( Order, orders_table, properties = {
# belongs to
'user': relationship( User )
} )
Есть идеи, почему эта ошибка?