`

Flask Web开发5.8:AttributeError: 'InstrumentedList' object has no attribute 'order

 
阅读更多

今天继续学习 Flask Web开发5.8节,在python console中输入:

user_role.users.order_by(User.username).all()

显示错误信息:

AttributeError: 'InstrumentedList' object has no attribute 'order_by'

 

我的hello.py

 

import os

 

from flask import Flask, render_template, session, redirect, url_for, flash
from flask_bootstrap import Bootstrap
from flask_moment import Moment
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
from flask_sqlalchemy import SQLAlchemy

 

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
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

 


bootstrap = Bootstrap(app)
moment = Moment(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

 

class NameForm(FlaskForm):
    name = StringField('What is your name?', validators=[DataRequired()])
    submit = SubmitField('Submit')

 


@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

 


@app.errorhandler(500)
def internal_server_error(e):
    return render_template('500.html'), 500

 


@app.route('/', methods=['GET', 'POST'])
def index():
    form = NameForm()
    if form.validate_on_submit():
        old_name = session.get('name')
        if old_name is not None and old_name != form.name.data:
            flash('Looks like you have changed your name!')
        session['name'] = form.name.data
        return redirect(url_for('index'))
    return render_template('index.html', form=form, name=session.get('name'))

 

if __name__ == '__main__':
    app.run(debug=True)

 

 

最后的解决方法是:

将服务重启,重新在python console中重新加载数据,最后成功!

  • 大小: 21.6 KB
分享到:
评论

相关推荐

    Flask Web开发:基于Python的Web应用开发实战

    **Flask Web开发:基于Python的Web应用开发实战** Flask是Python编程语言中的一个轻量级Web应用程序框架,以其简洁、灵活的特性受到了开发者们的广泛欢迎。它遵循"微框架"理念,允许开发者自由选择如何组织项目和...

    FlaskWeb开发:基于Python的Web应用开发实战

    FlaskWeb开发:基于Python的Web应用开发实战

    FlaskWeb开发实战:入门、进阶与原理解析学习.zip

    《FlaskWeb开发实战:入门、进阶与原理解析学习》是一本全面解析Flask框架的实战指南,旨在帮助开发者从零基础开始掌握Web应用的构建。Flask是Python语言中最受欢迎的轻量级Web服务器框架之一,以其简洁、灵活的特性...

    学习《Flask Web开发:基于Python的Web应用开发实战》分享.zip

    《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python的Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)Web应用框架,以其灵活性、...

    Flask+Web开发实战,flaskweb开发实战pdf,Python

    **Flask Web开发实战——Python Web开发的轻量级选择** Flask,作为一个轻量级的Python Web框架,自2010年开源以来,已经在开发者社区中积累了极高的声誉。与Django这样的全功能框架相比,Flask以其灵活性、简单性...

    解决python多线程报错:AttributeError: Can&#39;t pickle local object问题

    主要介绍了解决python多线程报错:AttributeError: Can't pickle local object问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    FlaskWeb开发

    本书共分三部分,全面介绍如何基于 Python 微框架 Flask 进行 Web 开发。第一部分是 Flask 简介,介绍使用 Flask 框架及扩展开发 Web 程序的必备基础知识 ;第二部分则给出一个实例,真 正带领大家一步步开发完整的...

    解决python多线程报错:AttributeError: Cant pickle local object问题

    File “D:/flaskProject/test.py”, line 35, in test pool.apply(self.out, args=(i,)) File “Python37-32\lib\multiprocessing\pool.py”, line 261, in apply return self.apply_async(func, args, kwds).get() ...

    Flask web开发实战视频教程+源代码+课件-Python框架.txt

    Flask web开发实战视频教程+源代码+课件-Python框架。 Flask是一个使用 Python 编写的轻量级 Web 应用框架,扩展性非常良好。 是web端流行框架之一, Flask web开发实战+源代码+课件, 度盘自取 ======== Flask ...

    Flask Web应用开发实战.pdf

    Flask以其简洁、灵活的特性,在Python Web开发领域深受开发者喜爱。这本书详细介绍了如何利用Flask构建功能完备的Web应用程序,涵盖从基础到高级的多个层面。 在书中,首先会讲解Flask的基础知识,包括安装环境、...

    Flask Web开发:基于Python的Web应用开发实战1

    《Flask Web开发:基于Python的Web应用开发实战》是一本由Miguel Grinberg所著,安道翻译的书籍,它旨在帮助熟悉Python编程的读者深入理解并掌握使用Flask框架进行Web开发。Flask是一个轻量级的Python Web框架,它以...

    Flask之旅《FlaskWeb开发:基于Python的Web应用开发实战》学习笔记汇总.pdf

    Flask之旅《FlaskWeb开发:基于Python的Web应用开发实战》学习笔记汇总.pdf

    Flask Web开发_Github源代码

    **Flask Web开发详解** **一、Flask框架基础** Flask是一款轻量级的Python Web框架,由Armin Ronacher开发。它以其简洁、灵活的特性受到开发者喜爱,适用于快速构建小型到中型的Web应用。Flask的核心是基于...

    Flask-Web开发书籍实战.zip

    《Flask-Web开发实战》是一本专注于使用Python Flask框架进行Web应用开发的书籍。Flask作为轻量级的Web服务器网关接口(WSGI)微框架,以其简洁、灵活的特点受到众多开发者喜爱。这本书旨在帮助初学者和有一定经验的...

    FlaskWeb开发:基于Python的Web应用开发实战-学习笔记.zip

    《Flask Web开发:基于Python的Web应用开发实战》是一本深入浅出的教程,旨在帮助读者掌握使用Python和Flask框架构建Web应用程序的技术。Flask是一个轻量级的Web服务器网关接口(WSGI)微框架,它以其灵活性和简单性...

    FlaskWeb开发:基于Python的Web应用开发实战+源代码+文档说明

    FlaskWeb开发:基于Python的Web应用开发实战 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! &lt;项目介绍&gt; 1、该资源内项目代码都经过测试...

Global site tag (gtag.js) - Google Analytics