我有这个代码,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'
我到处看到的错误,我找不到任何解决方案.
我对 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 照常工作。
我将不胜感激任何建议!
我正在尝试使用 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)