[英]sqlalchemy select by filter
应用程序.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'
您正在进行两个查询,这可能就是您没有得到所需结果的原因。
pUser.query
创建一个Query
对象。 在那你可以调用像select_from
、 join
、 filter
、 filter_by
和其他类似的方法,这些方法也返回一个Query
对象。
要将结果行放入 python list
,您必须在其上调用all
、 one
等。
所以,在你的情况下
result = pUser.query.filter_by(shahr='tehran').all()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.