在Django中使用D3js和JSON格式可视化MySQL数据

时间:2017-06-27 21:27:23

标签: python mysql json django

这是我在这里的第一篇文章,所以请忽略任何天真的错误。

我已成功从JSON格式的数据库中检索我的数据。数据库有几个字段,我只需要时间戳和值。现在,我尝试使用 .values(“timestamp”,“readings”),但在序列化时,它会弹出一个错误 - 没有属性_meta。不得不求助于 .only(“timestamp”,“readings”),但它返回了所有属性。

您能告诉我如何过滤属性并使用D3js或任何其他库对其进行可视化。

一些相关细节 - 型号 -

**class Readings(models.Model):
    meter_id = models.CharField(max_length=100)
    timestamp = models.DateTimeField(default=datetime.now)
    readings = models.DecimalField(max_digits=20, decimal_places= 10, default=Decimal('0.0000'))**

返回的结果是 -

形式

[{“model”:“log.readings”,“pk”:4093,“fields”:{“meter_id”:“c30d4d9a-48b7-56fa-b714-c36247ee7aa8”,“timestamp”:“ 2017-04-01T00:00:00Z“,”读数“:”0E-10“}}

从这里我只需要时间戳和读数字段

Views.py -

def current(request):
    user = Details.objects.filter(user_id=request.user.id)
    data = Readings.objects.filter(meter_id=user[0].meter_id).only('timestamp', 'readings')
    temp = serializers.serialize('json', data)
    return render_to_response("current.html", {'for_graph': temp})

1 个答案:

答案 0 :(得分:0)

我自己想通了。正确解析了JSON,因此可以在运行时使用Javascript区分属性。 chart.js也是一个很棒的库,可以使用JSON对象绘制不同的图形:)