Elixir で sqlalchemy を使用していますが、クエリを作成しようとすると問題が発生します。
多対多の関係を持つ Customer と CustomerList の 2 つのエンティティがあります。
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)
私はいくつかの顧客で CustomerList を見つけようとしています:
customer = [...]
CustomerList.query.filter_by(customers.contains(customer)).all()
しかし、エラーが発生します: NameError:
グローバル名「customers」が定義されていません
顧客はエンティティ フィールドとは無関係のようですが、リレーションシップ (または ManyToMany リレーションシップ) を操作するための特別なクエリ フォームがありますか?
ありがとう