【发布时间】:2020-12-04 04:21:39
【问题描述】:
我正在使用 python 和烧瓶创建我的第一个后端,我遇到了这个错误: “'SQLAlchemy' 的实例没有 'Column' 成员”。我试图通过在 stackoverflow 中遵循类似的问题来解决这个问题,但它不起作用。 我尝试过的解决方案:
-
安装了flask-sqlalchemy,
-
已安装烧瓶,
-
添加
"python.linting.pylintArgs": [
"--load-plugins",
"pylint-flask-sqlalchemy",
"pylint-flask"
]
到我的 settings.json 文件,
基本上我关注了这个帖子:Instance of 'SQLAlchemy' has no 'Column' member (no-member) 但没有成功。 我想要实现的实际上只是复制粘贴这个教程: https://www.codementor.io/@dongido/how-to-build-restful-apis-with-python-and-flask-12qto530jd
我已经成功完成了第 5 步,也就是创建模型。
有没有人知道如何解决这个问题的更多信息?
更新: 当我运行程序时,我得到:
Traceback (most recent call last):
File "run.py", line 17, in <module>
app = create_app("config")
File "run.py", line 10, in create_app
from Model import db
File "C:\Users\Madsen\AndroidStudioProjects\JustDoItApp\Backend\Model.py", line 3, in <module>
from flask_marshmallow import Marshmallow
File "C:\Users\Madsen\AndroidStudioProjects\JustDoItApp\Backend\env\lib\site-packages\flask_marshmallow\__init__.py", line 24, in <module> import flask_sqlalchemy # flake8: noqa
File "C:\Users\Madsen\AndroidStudioProjects\JustDoItApp\Backend\env\lib\site-packages\flask_sqlalchemy\__init__.py", line 39, in <module>
_timer = time.clock
AttributeError: module 'time' has no attribute 'clock'
该程序尚未准备好运行。但是在我正在关注的教程中,这不应该导致错误。 难道是我连接的数据库有问题吗?我正在从 confi.py 像这样连接到我的本地主机 postgresql:
SQLALCHEMY_DATABASE_URI = os.environ.get("postgresql://postgres:password@localhost/BilletApp")
我已经用我的本地主机密码填写了密码字段。 这个数据库没有名为“cmets”的表,就像我试图用这段代码在这里创建的那样:
class Comment(db.Model):
__tablename__ = 'comments'
id = db.Column(db.Integer, primary_key=True)
comment = db.Column(db.String(250), nullable=False)
creation_date = db.Column(db.TIMESTAMP, server_default=db.func.current_timestamp(), nullable=False)
category_id = db.Column(db.Integer, db.ForeignKey('categories.id', ondelete='CASCADE'), nullable=False)
category = db.relationship('Category', backref=db.backref('comments', lazy='dynamic' ))
def __init__(self, comment, category_id):
self.comment = comment
self.category_id = category_id.
这可能是问题吗?
【问题讨论】:
-
是运行程序时出现的错误还是仅在vscode上出现的错误?因为如果它在 vscode 上而不是在实际运行程序时,那么它可能是一些 vscode 设置问题。
-
感谢您的回复。我将在下面添加运行程序的结果作为答案(?),因为评论太长了。
-
好吧,我会把它添加到原来的问题中,因为我相信这是正确的做法?
-
@Madsen - 教程中的
requirements.txt指定了 Flask-SQLAlchemy 的 2.3.2 版本,该版本现在已经相当老了。尝试升级到最新版本(当前为 2.4.4)。 -
感谢您的回复。不幸的是,它并没有解决问题。我借此机会将 requirements.txt 中的所有字段更新到最新版本,没有任何错误,但没有结果。更改后,我还按照另一篇文章中的建议重新加载了窗口。
标签: python postgresql visual-studio-code sqlalchemy flask-sqlalchemy