当前位置: 首页 > 知识库问答 >
问题:

“SQLAlChemy”类中未解析的属性“列”

程城
2023-03-14

我使用pyChume5.0和python3.5。并且我通过pyChume5的内置函数(设置-项目-项目解释器-"")下载了所有的liarbry。其他库看起来不错,但是flask-SQLAlchey出现了一些问题。

我导入烧瓶-SQLAlChemysuccessfully.however,py

我已经尝试了一些方法,但它们不起作用.例如:1.重新启动 2.删除并重新下载 3.刷新缓存。PyCharm 中提到的内容显示有效代码的未解析引用错误

代码:

from flask import Flask, redirect, render_template, session, url_for, flash
from flask_sqlalchemy import SQLAlchemy
from flask_bootstrap import Bootstrap
from flask_wtf import Form
from wtforms import StringField, SubmitField
import os
from wtforms.validators import data_required


basedir = os.path.abspath(os.path.dirname(__file__))


app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
app.config['SQLALCHEMY_DATABASE_URI'] =\
    'sqlite:///' + os.path.join(basedir, 'data.sqlite')
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True


bootstrap = Bootstrap(app)

db = SQLAlchemy(app)


class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    users = db.relationship('User', backref='role', lazy='dynamic')

    def __repr__(self):
        return '<Role %r>' % self.name


class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True, index=True)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))

    def __repr__(self):
        return '<User %r>' % self.username

我该如何解决这个问题?

共有3个答案

阎咏思
2023-03-14
匿名用户

我刚才遇到了同样的问题。

简而言之,如果我只是点击运行代码运行与退出代码0即使PyCharm显示未解决的属性引用,但对于任何可能犯与我在简单点击运行之前相同错误的人:

这是我正在编写的代码,它显示了类“SQLAlchey”的“未解析属性引用”列“,例如。”未解析的属性引用“整数”用于类“SQLAlchey”。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///new-books-collection.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = 
False
db = SQLAlchemy(app)


class Books(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(250), unique=True, nullable=False)
    author = db.Column(db.String(250), unique=True, nullable=False)
    rating = db.Column(db.Float, nullable=False)


db.create_all()

我的问题是,我将鼠标悬停在Column和Integer上,并单击将方法Column()添加到类SQLAlchemy。整数也一样。

从那时起,TypeErrors出现了,因为它在< code>__init__中创建了这些空方法。SQLAlchemy的py。

为了解决这个问题,我使用了pip安装flask_sqlalchemy--升级pip安装flask_sqlalchemy

希望这有帮助!

周浩淼
2023-03-14

这是我的工作。

from flask_sqlalchemy import SQLAlchemy
from typing import Callable


class MySQLAlchemy(SQLAlchemy):  # Or you can add the below code on the SQLAlchemy directly if you think to modify the package code is acceptable.
    Column: Callable  # Use the typing to tell the IDE what the type is.
    String: Callable
    Integer: Callable


db = MySQLAlchemy(app)


class User(db.Model, UserMixin):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))  # The message will not show: Unresolved attribute reference 'Column' for class 'SQLAlchemy' 

    def __init__(self, *args, **kwargs): 
        super().__init__(*args, **kwargs)


def create_test_data():
    db.create_all()
    test_user = User(name='Frank')  # I add __init__, so it will not show you ``Unexpected argument``
    db.session.add(test_user)
    db.session.commit()
朱毅
2023-03-14

<code>flask_sqlalchemy的构造函数。SQLAlchemy类调用_include_SQLAlchemy,它附加了SQLAlchemysqlalhemy中的所有属性。form</code>到其实例

这只在运行时完成,PyCharm的代码检查不会检测到。

它需要flask_sqlalchemy使用更标准的方式导入这些属性,例如from sqlalChemy导入*。但是这会将属性导入flask_sqlalchemy模块,而不是SQLAlchey的每个实例,从而改变它们的访问方式。

我不是Python或SQL炼金术专家,不会判断这是否是好的设计,但你可以在https://github.com/pallets/flask-sqlalchemy上打开一个问题并在那里讨论。

 类似资料:
  • 我曾在其他项目中工作过,我只是重新做同样的事情,但由于某些原因,它不起作用。Spring不是从属性文件读取,而是从字面上取值 AppConfig.java ApplicationContext.xml: AppConfig.Properties 想法?

  • 问题内容: 我目前正在解析XML,但是我不太确定如何解析“消息”的“状态”属性: 这是代码,我切断了所有不必要的内容: 谁能指导我该如何完成? 提前致谢。 问题答案: Node.getAttributes() 如果使用XPATH检索数据,则可以避免遍历。阅读本教程。

  • 我试图在Spring Boot中的文件中添加一个属性值,该文件包含一个尾随空格。我正在使用注释检索值。将空格保留为未转义,只需对其进行修剪,并添加一个Unicode转义字符,就会导致应用程序解析以下字符串。 直接在代码中使用初始化字符串变量会导致预期的空格字符。

  • 给定一个pub/sub主题,BigQuery允许使用Dataflow SQL语法将数据流到表中。 在步骤2中,我还希望将发送到pub/sub主题。是否可以在第1步定义模式,以便它自动写入表? 我一直在尝试不同的事情: ,遵循本Beam extensions文档,但我得到的只是数据流中的JSON解析错误 希望消息像这段代码一样被扁平化,但在结果表中得到一个值。

  • 本文向大家介绍JavaScript中Boolean对象的属性解析,包括了JavaScript中Boolean对象的属性解析的使用技巧和注意事项,需要的朋友参考一下 constructor 属性 实例 返回通过 myvar 对象的原型创建的函数: 结果输出: 定义和用法 constructor 属性返回对创建此对象的 Boolean 函数的引用。 prototype 构造器 为 Boolean 对象

  • “env”为:“org.springframework.core.env.environment” 现在,当我在Eclipse中运行Spring Boot应用程序时,我希望这段代码从类路径中的application.properties获取属性(在project/src/main/resources中),但它使用的是project/config中的另一个application.properties