相关疑难解决方法(0)

Flask SQLAlchemy分页错误

我有这个代码,all()方法和其他所有方法都适用于此,我已经看了一遍,我可以认为该方法也paginate()适用于BaseQuery哪个也是Query

@app.route('/')
@app.route('/index')
@app.route('/blog')
@app.route('/index/<int:page>')
def index(page = 1):
    posts = db.session.query(models.Post).paginate(page, RESULTS_PER_PAGE, False)
return render_template('index.html', title="Home", posts=posts)
Run Code Online (Sandbox Code Playgroud)

但这给了我AttributeError: 'Query' object has no attribute 'paginate' 我到处看到的错误,我找不到任何解决方案.

python pagination flask flask-sqlalchemy

7
推荐指数
1
解决办法
7342
查看次数

Sqlalchemy 不适用于分页

我对 Flask 和 sqlalchemy 完全陌生。我尝试制作一个网站只是为了更好地了解 Flask。教程有很多,大部分都是使用sqlite。为了我的目的,我使用 postgres。我需要一个可以使用分页的页面。但我一直收到错误

AttributeError: 'Query' object has no attribute 'paginate'
Run Code Online (Sandbox Code Playgroud)

我的数据库

uri = os.environ.get('DATABASE_URL', 'postgres://login:password@127.0.0.1/db_name')
engine = create_engine(uri, convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
                     autoflush=False,
                     bind=engine))

Base = declarative_base()
Base.query = db_session.query_property()    
Run Code Online (Sandbox Code Playgroud)

简单模型

class User(Base):
    __tablename__ = 'user'

    id = Column(Integer, primary_key=True, autoincrement=True)
    name = Column(Unicode(100), nullable=False)
    ...
Run Code Online (Sandbox Code Playgroud)

然后我使用分页

users = User.query.paginate(1, 5, False)
Run Code Online (Sandbox Code Playgroud)

get_or_404() 和first_or_404() 出现同样的错误。正常的 get 或 first 照常工作。

我将不胜感激任何建议!

postgresql pagination flask flask-sqlalchemy

5
推荐指数
1
解决办法
6491
查看次数

使用Flask-SqlAlchemy查询关系数据库

我正在尝试使用 Flask-SQLAlchemy 查询数据库中的用户个人资料页面

到目前为止我还没有解决这个问题的方法,只能使用以下方法查询所有用户数据users.query.all()

每个用户都有自己的role_id、department_id、researchfield_id。

如何通过ID查询出所有与User有关系的Role、Department、ResearchField数据?

class User(UserMixin, db.Model):

    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    password_hash = db.Column(db.String(128))
    is_admin = db.Column(db.Boolean, default=False)
    department_id = db.Column(db.Integer, db.ForeignKey('departments.id'))
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    research_id = db.Column(db.Integer, db.ForeignKey('researchfields.id'))

class Department(db.Model):
    __tablename__ = "departments"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(sqlalchemy.types.NVARCHAR(100), unique=True)
    user = db.relationship('User', backref='department',
                                lazy='dynamic')

class Role(db.Model):

    __tablename__ = 'roles'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(sqlalchemy.types.NVARCHAR(100), unique=True)
    users = db.relationship('User', backref='role',
                                lazy='dynamic')


class ResearchField(db.Model):

    __tablename__ = "researchfields"

    id = db.Column(db.Integer, …
Run Code Online (Sandbox Code Playgroud)

python flask flask-sqlalchemy

2
推荐指数
1
解决办法
4231
查看次数

标签 统计

flask ×3

flask-sqlalchemy ×3

pagination ×2

python ×2

postgresql ×1