使用flasksqlalchemy查询数据库中现有的mysql表

2024-06-16 13:34:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个flask应用程序,使用flaskslqalchemy查询mysql数据库

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost/abc'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

“abc”数据库中有一个表“users”,它已经填充了几百行。 现在我需要导入这个已有的表,而不是首先用数据库模型 我怎么称呼这张桌子? 如果我这么做

^{pr2}$

那么我就不能像

USERS.query.filter_by(done=1).with_entities(USERS.name,USERS.country).paginate(page, 15, False)

它会产生错误

AttributeError: 'Table' object has no attribute 'query'

因为这是sqlchemy命令,而不是flask sqlchemy,我不完全理解这一点。在

我必须像第一次创建表一样先定义用户:

class USERS(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.VARCHAR(500))
    country = db.Column(db.VARCHAR(50))

    def __init__(self, id, name, country):
        self.id = id
        self.name = name
        self.country = country

    def __repr__(self):
    return self.id

只有这样,我才能使用用户通过flask sqlalchemy查询数据库

如何在flask应用程序中使用flask sqlchemy访问现有表用户?在


Tags: 用户namefromselfid数据库app应用程序