如何在 SQLAlchemy 中正确连接数据库。获取 NameError:未定义名称“用户”

朱霍普图

我正在创建与 SQLAlchemy 和 Flask 的多对多关系。我想我已经正确地进行了所有导入,但由于某种原因,我收到错误“NameError: name 'User' is not defined”。

我阅读了 SQLAlchemy 文档并尝试了他们的关联对象示例。下面是我自己的文件。每个 db 模型都在它自己的文件夹中的 application 下,例如 application/pictures 文件夹中的 models.py (Picture)。

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 = relationship(User.id, back_populates="likes") NameError: name 'User' 未定义

马斯拉克

当您的模型插入无序时,您应该将模型名称括在 ` 或 " 中。例如:

likers = relationship('User', back_populates="likes")
likes = relationship('Picture', back_populates="likers")

来自文档(https://docs.sqlalchemy.org/en/13/orm/relationship_api.html):

使用声明式扩展时,声明式初始值设定项允许将字符串参数传递给 relationship()。这些字符串参数被转换为可调用对象,使用声明性类注册表作为命名空间,将字符串计算为 Python 代码。这允许通过它们的字符串名称自动查找相关类,并且不需要在声明依赖类之前将相关类导入本地模块空间。仍然需要在实际使用相关映射之前的某个时刻将出现这些相关类的模块导入应用程序中的任何位置,否则当 relationship() 尝试解析对相关类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导入数据时,SQLAlchemy中的“ NameError:名称'<tableName>'未定义”

来自分类Dev

sqlalchemy中的“ NameError:名称'Float'未定义”

来自分类Dev

sqlalchemy中的“ NameError:名称'Float'未定义”

来自分类Dev

如何在连接字符串中设置用户名和密码以连接数据库?

来自分类Dev

如何正确设置Flask + uWSGI + SQLAlchemy以避免数据库连接问题

来自分类Dev

Reactjs:如何使用 Reactjs 在弹出按钮单击时从数据库中正确获取每个用户记录

来自分类Dev

如何解决NameError:未定义全局名称“ ContactForm”

来自分类Dev

如何克服Python 3.4 NameError:未定义名称'basestring'

来自分类Dev

如何修复“ NameError:未定义名称'日期'”?

来自分类Dev

使用自定义库运行机器人框架测试用例时,如何解决“ NameError:未定义全局名称'x'”错误?

来自分类Dev

如何使用Python + SQLAlchemy远程连接MySQL数据库?

来自分类Dev

如何使用函数和 sqlalchemy 连接到数据库

来自分类Dev

如何在 React Native 中使用 SQLAlchemy 数据库?

来自分类Dev

如何更改连接数据库?

来自分类Dev

如何在函数内部连接数据库

来自分类Dev

如何在 Typed Racket 中连接数据库?

来自分类Dev

SQLalchemy python3 s = select([用户])Namerror:未定义名称“用户”

来自分类Dev

烧瓶无法运行数据库迁移-NameError:名称'conn_uniques'未定义

来自分类Dev

如何在Phalcon中正确初始化数据库连接

来自分类Dev

如何在.NET应用程序中正确检查与mysql的数据库连接?

来自分类Dev

如何在Codeigniter中使用已连接数据库的数据库连接?

来自分类Dev

R和RMySQL,如何获取连接的数据库名称?

来自分类Dev

SQLAlchemy如何跟踪数据库更改?

来自分类Dev

当用户单击PHP中的“提交”按钮时,如何同时连接数据库,拍摄和发送电子邮件以及更新数据库?

来自分类Dev

如何在DAO数据库中正确使用Seek

来自分类Dev

如何在PostgreSQL中正确配置数据库权限

来自分类Dev

如何在SQLAlchemy中设置连接超时

来自分类Dev

如何在Sqlalchemy中设置用户定义的类型

来自分类Dev

如何在联接SQLAlchemy中访问数据

Related 相关文章

  1. 1

    导入数据时,SQLAlchemy中的“ NameError:名称'<tableName>'未定义”

  2. 2

    sqlalchemy中的“ NameError:名称'Float'未定义”

  3. 3

    sqlalchemy中的“ NameError:名称'Float'未定义”

  4. 4

    如何在连接字符串中设置用户名和密码以连接数据库?

  5. 5

    如何正确设置Flask + uWSGI + SQLAlchemy以避免数据库连接问题

  6. 6

    Reactjs:如何使用 Reactjs 在弹出按钮单击时从数据库中正确获取每个用户记录

  7. 7

    如何解决NameError:未定义全局名称“ ContactForm”

  8. 8

    如何克服Python 3.4 NameError:未定义名称'basestring'

  9. 9

    如何修复“ NameError:未定义名称'日期'”?

  10. 10

    使用自定义库运行机器人框架测试用例时,如何解决“ NameError:未定义全局名称'x'”错误?

  11. 11

    如何使用Python + SQLAlchemy远程连接MySQL数据库?

  12. 12

    如何使用函数和 sqlalchemy 连接到数据库

  13. 13

    如何在 React Native 中使用 SQLAlchemy 数据库?

  14. 14

    如何更改连接数据库?

  15. 15

    如何在函数内部连接数据库

  16. 16

    如何在 Typed Racket 中连接数据库?

  17. 17

    SQLalchemy python3 s = select([用户])Namerror:未定义名称“用户”

  18. 18

    烧瓶无法运行数据库迁移-NameError:名称'conn_uniques'未定义

  19. 19

    如何在Phalcon中正确初始化数据库连接

  20. 20

    如何在.NET应用程序中正确检查与mysql的数据库连接?

  21. 21

    如何在Codeigniter中使用已连接数据库的数据库连接?

  22. 22

    R和RMySQL,如何获取连接的数据库名称?

  23. 23

    SQLAlchemy如何跟踪数据库更改?

  24. 24

    当用户单击PHP中的“提交”按钮时,如何同时连接数据库,拍摄和发送电子邮件以及更新数据库?

  25. 25

    如何在DAO数据库中正确使用Seek

  26. 26

    如何在PostgreSQL中正确配置数据库权限

  27. 27

    如何在SQLAlchemy中设置连接超时

  28. 28

    如何在Sqlalchemy中设置用户定义的类型

  29. 29

    如何在联接SQLAlchemy中访问数据

热门标签

归档