我正在使用sqlalchemy与药剂,并有一些麻烦试图作出查询..Sqlalchemy + elixir:如何使用ManyToMany关系进行查询?
我有2个实体,客户和CustomerList,多对多的关系。
customer_lists_customers_table = Table('customer_lists_customers',
metadata,
Column('id', Integer, primary_key=True),
Column('customer_list_id', Integer, ForeignKey("customer_lists.id")),
Column('customer_id', Integer, ForeignKey("customers.id")))
class Customer(Entity):
[...]
customer_lists = ManyToMany('CustomerList', table=customer_lists_customers_table)
class CustomerList(Entity):
[...]
customers = ManyToMany('Customer', table=customer_lists_customers_table)
我tryng找到CustomerList一些客户:
customer = [...]
CustomerList.query.filter_by(customers.contains(customer)).all()
但我得到的错误: NameError:
global name 'customers' is not defined
客户似乎是无关的实体领域,有一个特殊的查询表单可以处理关系(或ManyToMany关系)?
感谢
是的,当然。我明白,但为什么会发生?在所有其他情况下,我可以使用不带实体的 字段。 – Hugo 2010-05-11 12:22:14