繁体   English   中英

Django,从查询集转换为 json 并使用键中的值

[英]Django, transform from a queryset to json and use a value from a key

这是我的model.py

class Ont_Pruebas_Json(models.Model):
    usuario_id = models.CharField(max_length=12)
    data = jsonfield.JSONField()

    def __str__(self):
            return '{}'.format(self.usuario_id)

在数据字段我存储这个:

{u'1': {u'user': u'user1',u'mac': u"'00:00:00:00:00:01'"}, u'2': {u'user': u'user1',u'mac': u"'00:00:00:00:00:01'"}}

在我的 views.py 上

我以这种方式传递查询集:context['context_json'] = Ont_Pruebas_Json.objects.all()

如何从查询集传递到 json 格式,以便我可以从 1 中选择关键 mac 并获取值:00:00:00:00:00:01。

一般来说,你不应该直接在数据库中存储 json 数据。 这样做有很多潜在的问题。 例如,如果数据丢失,您可能不知道,因为您没有对其进行验证。

您应该首先解析您的数据,以便 python 可以读取它。 如果您使用 Django Rest Framework(DRF),请使用序列化程序

但是,我发现序列化程序在开始时令人困惑,因此如果您想解析查询集,请按如下所示进行。

from .models import Ont_Pruebas_Json
import json

query = Ont_Pruebas_Json.objects.get(usuario_id ='some_user_id')
data = json.loads(str(query))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM