簡體   English   中英

更改查詢結果格式sqlalchemy

[英]Change query result format sqlalchemy

我要執行以下操作:

def EMA(file):

current_time = datetime.datetime.utcnow()
five_minutes_ago = current_time - datetime.timedelta(minutes=5)
sub_within_las_five_min = db.session.query(visits).filter((visits.date > five_minutes_ago),(visits.name == file)).all()
a = len(sub_within_las_five_min)
return a

我收到此錯誤:

InterfaceError:(sqlite3.InterfaceError)錯誤綁定參數1-可能不受支持的類型。 [SQL:u'SELECT visits.id AS visits_id,visits.name AS visits_name,visits.date AS visits_date \\ nFROM visits \\ nWHERE visits.date>? AND visits.name =?'] [參數:('2016-02-20 12:06:43.974000',(u'vagrant.txt',))]

我知道問題是由(u'vagrant.txt')引起的,因為我試圖放入'vagrant.txt'而不是file,並且可以正常工作。 文件名是從以下視圖生成的:

@app.route('/api/test/', methods=['GET'])
def catalogue1():
catalogue = db.session.query(Content.name).all()
for i in range(len(catalogue)):
j= catalogue[i]
s = EMA(j)
return str(s) 

有人可以幫我嗎,我想更改db.session.query(content.name)的格式以適合我的第一個查詢。

似乎您傳遞給EMA file屬性是一個元組而不是字符串,因此這可能會有所幫助:

def EMA(file):
    filename = file[0]
    current_time = datetime.datetime.utcnow()
    five_minutes_ago = current_time - datetime.timedelta(minutes=5)
    sub_within_las_five_min = db.session.query(visits).filter((visits.date > five_minutes_ago),(visits.name == filename)).all()
    a = len(sub_within_las_five_min)
    return a

暫無
暫無

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

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