Python 将queryset转换为Django中的列表
我有一个查询集,其中的对象具有字段Python 将queryset转换为Django中的列表,python,django,Python,Django,我有一个查询集,其中的对象具有字段date和value 我需要用数组[[date\u 1,value\u 1],[date\u 2,value\u 2],…,[date\u n,value\u n]]填充模板 当每个对象都有多个字段时,这怎么可能呢 我试过了 MyModel.objects.values_list('date', 'value') 但是date以日期时间格式打印(例如datetime.date(2013,9,21)),值以十进制打印(例如decimal('72495.0'))。
date
和value
我需要用数组[[date\u 1,value\u 1],[date\u 2,value\u 2],…,[date\u n,value\u n]]
填充模板
当每个对象都有多个字段时,这怎么可能呢
我试过了
MyModel.objects.values_list('date', 'value')
但是date
以日期时间格式打印(例如datetime.date(2013,9,21)
),值以十进制打印(例如decimal('72495.0')
)。我需要一个flot.js图表
MyModel.objects.values_list('date', 'value', flat=True)
您可以使用列表理解:
[(str(my_record.date), str(my_record.value)) for my_record in MyModel.objects.all()]
事实上,通过这种方式,您可以随心所欲地转换数据
import calendar
import json
raw_data = MyModel.objects.values_list('date', 'value')
result = []
for date, value in raw_data:
result.append([calendar.timegm(date.timetuple()) * 1000,
float(value)])
要在模板中使用结果,首先将其序列化为JSON,然后将数据
传递给模板
data = json.dumps(result)
模板中
var data = {{ data|safe }};
此外: