我正在使用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