python - Flask-Sqlalchemy 貌似 "caching"查询

标签 python mysql flask sqlalchemy flask-sqlalchemy

我正在为 Flask 编写注册/登录脚本,我正在使用 flask-sqlalchemy。为了注册用户,我通过 flask-sqlalchemy 将他们的详细信息插入到数据库中,然后提交更改。但是,当他们尝试登录时,从数据库中获取他们的详细信息,我收到 NoneType 错误,表明我试图查找的条目不存在。

我正在使用 MySQL 5.5 和最新版本的 Flask 和 Flask-Sqlalchemy。

错误:

AttributeError: 'NoneType' object has no attribute 'password'

代码:

 newuser = User(username='username', email='email', valid=1, password='hashpass', rkey=rkey, score=0, ip=uip)
 db.session.add(newuser)
 db.session.commit()
 pwhash = User.query.filter_by(username='username').first().password
 return str(pwhash)

模型

 class User(db.Model):
    __tablename__ = 'users'
    uid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50))
    password = db.Column(db.Text)
    email = db.Column(db.String(120))
    rkey = db.Column(db.String(50))
    role = db.Column(db.String(20))
    valid = db.Column(db.Boolean)
    ip = db.Column(db.String(110))
    lastip = db.Column(db.String(110))
    score = db.Column(db.Integer)


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

最佳答案

我认为您的查询应该是:

pwhash = User.query.filter_by(User.username='username').first().password

关于python - Flask-Sqlalchemy 貌似 "caching"查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854418/

相关文章:

python - Sympy - 仅在特定位置查找矩阵的逆?

python - 查找所有单词: Negative Look Behind in Regex

python - Docker + Google Cloud + chromedriver -> 可执行文件需要位于 PATH 中

Python:如何使用集合从列表中删除重复项(顺序很重要)

mysql - 我怎样才能使查询更快

MySQL .frm/.myd/.myi

PHP 从选择中返回 id

python - 用户注册 - Flask Security

python - 使用 DispatcherMiddleware 实例组合 2 个 Flask 应用程序会导致第二个应用程序出现 404 错误

python - 如何使用 Flask 使页面内容动态化?