0

I try to organize my flask application. All my code was in app.py file. One of the part od code is database:

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    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)
    user = db.relationship("User")
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    meals = db.relationship(
        "Meals", secondary=association_table, back_populates="orders"
    )


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

class Meals(db.Model):

....

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

I want to send files from database to models.py:

models.py .

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    class User(db.Model):
...


    class Order(db.Model):
        __tablename__ = 'orders'

...
    class Meals(db.Model):
        __tablename__ = 'meals'
...
    class Category(db.Model):
        __tablename__ = 'categories'
...

in app.py I added I

from models import  db,User,Order,Meals,Category,association_table
.....
db.init_app(app)

and got a problem:

RuntimeError: application not registered on db instance and no application bound to current context

How should I solve this problem

jarlh
  • 42,561
  • 8
  • 45
  • 63

0 Answers0