Я создаю отношения многие ко многим с SQLAlchemy и флягой. Я думаю, что я сделал все операции импорта правильно, но по какой-то причине я получаю сообщение об ошибке "NameError: имя 'User' не определено".
Я прочитал документацию по SQLAlchemy и попробовал пример их объекта ассоциации. Ниже мои собственные файлы. Каждая модель базы данных находится в приложении в отдельной папке, например models.py (Picture) в папке application / pictures.
from sqlalchemy.orm import relationship
from application import db
from application.Base import Base
class Picture(Base):
__tablename__ = "picture"
#some code
account_id = db.Column(db.Integer, db.ForeignKey("account.id"), nullable=False)
likers = relationship("Likes", back_populates="likes")
def __init__(self, name):
self.path = name
from sqlalchemy.orm import relationship
from application import db
from application import Base
class User(Base):
__tablename__ = "account"
#some code
likes = relationship("Likes", back_populates="likers")
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
#code associated to login
from sqlalchemy.orm import relationship, backref
from application import db
from application import Base
class Likes(Base):
__tablename__ = "like"
#some code
account_id = db.Column(db.Integer, db.ForeignKey('account.id'),
nullable=False)
picture_id = db.Column(db.Integer, db.ForeignKey('picture.id'),
nullable=False)
likers = relationship(User, back_populates="likes")
likes = relationship(Picture, back_populates="likers")
def __init__(self, account_id, picture_id):
self.account_id = account_id
self.picture_id = picture_id
#I have also imported the like db to __init__.py file before db.create_all()
from application.likes import models
Я исключил, что базы данных были правильно подключены, но я получаю сообщение об ошибке
likers = relations (User.id, back_populations = "лайки")
NameError: имя 'User' не определено