sqlalchemy选择过滤器

时间:2016-08-02 12:57:15

标签: python sqlalchemy

app.py:

from flask import Flask, render_template
from itertools import groupby
from flask import request
import MySQLdb
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from db import PUser


engine = create_engine('mysql://myusername:mypassword@localhost/mydbname')
engine.connect()
Session = sessionmaker(bind=engine)
session = Session()


app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://myusername:mypassword@localhost/mydbname'
db = SQLAlchemy(app)


@app.route('/people/')
def people():
    result = pUser.query.filter_by(shahr = 'tehran')
    result = PUser.query.all()

    return result

在上面的脚本中,我应该如何编辑这些行?

result = PUser.query.filter_by(shahr = 'tehran')
result = PUser.query.all()

我想从“PUser”表中选择所有数据,并且还知道如何过滤我的选择查询。

Puser是我数据库中表的名称,这是同一目录中db.py的一部分:

class PUser(Base):
    __tablename__ = 'p_user'

1 个答案:

答案 0 :(得分:0)

您正在进行两次查询,这可能是您无法获得所需结果的原因。

"C:\\projects\\cisco\\iwan_staging_enc\\enterprise-network-controller\\ui-plugins\\iwan" 会创建一个Query对象。在那之上,您可以调用pUser.queryselect_fromjoinfilter等内容以及其他类似的方法,这些方法也会返回filter_by对象

要将结果行转换为python Query,您必须在其上调用listall等。

所以,在你的情况下

one