Veritabanından bazı verileri almaya çalışıyorum ve Django'dan Highcharts'a aktarmak için data['datetime']
JSON seri hale getirilebilir yapıyorum. Yöntemimin işe yarayacağını düşündüm, ama öyle değil. Şu anda alıyorum hatası, koşul json_serial işlevinden geçmiyor, çünkü Type not serializable
olduğunu. Neyi yanlış yapıyorum, şu ana kadar bu mantık parametresini ['anahtar'] geçeceğini düşündüm mü?Veritabanından veri çekme ve JSON serileştirilebilir hale getirme
from .models import Heater
import json
from datetime import datetime
def json_serial(obj):
"""JSON serializer for objects not serializable by default json code"""
if isinstance(obj, datetime):
serial = obj.isoformat()
return serial
raise TypeError ("Type not serializable")
class ChartData(object):
def check_heater_data(self):
data = {'datetime': [], 'temp_max': [],
'temp_min': []}
valves = Heater.objects.all()
for unit in valves:
data['temp_max'].append(unit.temp_max)
data['temp_min'].append(unit.temp_min)
data['datetime'] = json_serial(data['datetime'].append(unit.datetime))
jsonstring = json.dumps(data)
jsondata = json.loads(jsonstring)
return jsondata