Учитывая следующие модели:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
menu = db.relationship("Menu",
backref=db.backref('user'),
uselist=True)
class Menu(db.Model):
id = db.Column(db.Integer, primary_key=True)
dishes = db.relationship('Dish',
back_populates='menu',
uselist=True)
class Dish(db.Model):
id = db.Column(db.Integer, primary_key=True)
select = db.Column(db.String(50))
menu_id = db.Column(db.Integer, db.ForeignKey('menu.id'))
menu = db.relationship('Menu',
back_populates='dishes',
uselist=False)
Я хотел бы получить доступ к атрибутам, используя этот синтаксис:
User.menu.dishes
, например, чтобы:
User.menu.dishes.append(pasta)
Для этого я попытался получить доступ к подчиненному элементу Dish
:
query = User.query.join(User.menu,Dish).filter(Dish.select=='pasta').first()
, но это не сужает мой запрос, вместо этого он возвращает все атрибуты User
...
Как правильно получить доступ к предмету с помощью моделей, указанных выше?