Ошибка при создании базы данных со связью " многие ко многим" c помощью python

моя задача создать следующую базу данных: – Таблица пользователь –– id –– почта (mail) –– пароль (password) –– заказы (orders, отношение)

– Таблица блюдо –– id –– название (title) –– цена (price) –– описание (description) –– картинка (picture) –– категория (category, отношение)

– Таблица категории –– id –– название (title) –– блюда (meals, отношение)

– Таблица заказы –– id –– дата –– сумма –– статус –– почта –– телефон –– адрес –– список блюд в заказе (many2many)

Я пытаюсь это сделать во flask. Вот мой код:

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    mail = db.Column(db.String)
    password = db.Column(db.String)
    orders = db.relationship("Order", back_populates='user')


####!!!!!!!!!!!!!!!!!!!!!!#########
association_table = db.Table('association',
                             db.Column('meal_id', db.Integer, db.ForeignKey('meals.id')),
                             db.Column('order_id', db.Integer, db.ForeignKey('orders.id'))
                             )

class Order(db.Model):
    __tablename__ = 'orders'
    id = db.Column(db.Integer, primary_key=True)
    data = db.Column(db.String)
    summ = db.Column(db.Float)
    status = db.Column(db.String)
    mail = db.Column(db.String)
    phone = db.Column(db.String)
    adresses = db.Column(db.String)
    user = db.relationship("User")
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    meals = db.relationship(
        "Meals", secondary=association_table, back_populates="meals"
    )

    ####    –– список блюд в заказе(можно через запятую, можно many2many)

class Meals(db.Model):
    __tablename__ = 'meals'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, unique=True)
    price = db.Column(db.Float)
    description = db.Column(db.String, unique=True)
    picture = db.Column(db.String, unique=True)
    category = db.relationship("Category")
    category_id = db.Column(db.Integer, db.ForeignKey('categories.id'))
    orders = db.relationship(
        "Order", secondary=association_table, back_populates="orders"
    )



class Category(db.Model):
    __tablename__ = 'categories'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, unique=True)
    meals = db.relationship("Meals", back_populates='category')

При попытке заполнения этой базы данных возникает следующая ошибка:

sqlalchemy.exc.InvalidRequestError: Mapper 'mapped class Meals->meals' has no property 'meals'

Как решить данную проблему?


Ответы (0 шт):