22
SqlAlchemyクエリを作成する際に助けが必要です。SqlAlchemyとFlask、多対多の関係を照会する方法
私はSqlAlchemyを使用しているFlaskプロジェクトを行っています。私は3つのテーブルを作成しました:レストラン、料理、レストラン_食事はmodels.pyファイルにあります。
restaurant_dish = db.Table('restaurant_dish',
db.Column('dish_id', db.Integer, db.ForeignKey('dish.id')),
db.Column('restaurant_id', db.Integer, db.ForeignKey('restaurant.id'))
)
class Restaurant(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(64), index = True)
restaurant_dish = db.relationship('Dish', secondary=restaurant_dish,
backref=db.backref('dishes', lazy='dynamic'))
class Dish(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(64), index = True)
info = db.Column(db.String(256), index = True)
私はrestaurant_dishテーブルにデータを追加して、それが正しく動作する必要があります。私が助けが必要なところは、レストランを使って正しく食べる方法を理解することです。私を成し遂げるために管理が、働いていない何
SELECT dish_id FROM restaurant_dish WHERE restaurant_id == id
:ヘルプと私のための
x = Restaurant.query.filter_by(Restaurant.restaurant_dish.contains(name)).all()
おかげでも(正しい方向に私を指すことができるチュートリアルを感謝生SQLはこのようなものになるだろう公式の文書は私の頭の上に行く)。
:
これは、のようなクエリを生成する必要がありますありがとうございました。それが正しい方法でした。 :) – cancerballs
時間を検索した後、 'Dish.restaurant.any'はまさに私が探していたものでした!あなたに+1! – Matthew
この回答はどの文書よりも優れています。 – user455318