I need to make such data:
- Table user
-- id
-- mail (mail)
-- password (password)
-- orders (orders, relation)
– Table dish
-- id
-- name (title)
-- price (price)
-- description (description)
-- picture (picture)
-- category (category, relation)
– Category table
-- id
-- name (title)
-- dishes (meals, ratio)
– The orders table
–– id
-- date
-- amount
-- status
-- mail
-- phone
-- address
-- list of dishes in the order (many2many)
I try to do it in 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')
When I try to upload data to database I get an error:
sqlalchemy.exc.InvalidRequestError: Mapper 'mapped class Meals->meals' has no property 'meals'
How should I solve my problem?