Я пытаюсь написать приложение Flask, которое запрашивает мою базу данных (используя peewee), и отправляет результаты в Jinja2 для рендеринга. На мой взгляд выглядит следующим образом:Передача списка от peewee to jinja2 в колбе
@application.route('/maindash')
def maindash():
sq = Selfreported.select().join(Demog).where(Demog.mrn == session['mrn']).order_by(Selfreported.reportingdate)
series1data = ["Series 1", ([s.reportingdate, s.series] for s in sq)]
jsonedData = json.dumps(series1data)
return render_template('maindash.html', seriesdata=jsonedData)
Чтобы передать результаты из запроса в Jinja2, я знаю, что мне нужно сериализовать данные. Но когда я вызываю json.dumps: TypeError: at 0x104854be0> не является сериализуемым JSON. Итак, я думаю, что на самом деле я не получаю данные, но пытаюсь сериализовать сам объект запроса?
Каждый пример peewee, который я рассмотрел, использует функцию-помощник object_list из peewee-flask, а не передает результаты запроса прямо в render_template. Я посмотрел на object_list, но я с трудом понимая его -
def object_list(template_name, qr, var_name='object_list', **kwargs):
kwargs.update(
page=int(request.args.get('page', 1)),
pages=qr.count()/20 + 1
)
kwargs[var_name] = qr.paginate(kwargs['page'])
return render_template(template_name, **kwargs)
Есть ли способ на QueryResultWrapper я должен использовать, чтобы получить фактические данные, а не объекты? Я посмотрел на кортежи() и dict(), но я не мог перебирать их.