簡體   English   中英

sqlalchemy 按過濾器選擇

[英]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_fromjoinfilterfilter_by和其他類似的方法,這些方法也返回一個Query對象。

要將結果行放入 python list ,您必須在其上調用allone等。

所以,在你的情況下

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM