更改查询结果格式 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

我收到此错误:

接口错误:(sqlite3.接口错误) 绑定参数 1 时出错 - 可能不支持的类型。[SQL: u'SELECT visits.id AS visits_id, visits.name AS visits_name, visits.date AS visits_date FROM 访问 访问位置。日期> ?和 visits.name = ?'][参数: ('2016-02-20 12:06:43.974000', (u'vagrant.txt',))]

我知道问题是由(u'vagrant.txt',)引起的,因为我试图输入"vagrant.txt"而不是文件并且它可以工作. 文件名是从此视图生成的:

@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)的格式以适应我的第一个查询。

您传递给EMAfile属性似乎是一个元组而不是字符串,所以这可能会有所帮助:

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

最新更新