问题标签 [django-serializer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何将 Django queryset.values() 序列化为 json?
我有一个包含许多字段的模型,但是对于这个问题,我只需要其中的 3 个字段。当我尝试序列化一个.values
集合时,我得到一个异常:
'dict' 对象没有属性 '_meta'
这是我的代码:
python - django 序列化程序查询 db 以获取外键 ID
我使用 django 序列化程序序列化了几个对象,但问题是每个序列化都从 db 查询 foerign 键的 id,而不是仅仅从对象中获取它,例如
有没有办法在不修改 django 代码的情况下改变这种行为?我知道a.company.id
会查询公司表(这在理想世界中不应该发生)但是序列化程序中有一个选项,以便它执行类似a.company_id
不会查询数据库的操作
json - 'dict' 对象在 Django 序列化器上没有属性 '_meta'
...
AttributeError:“dict”对象没有属性“_meta”
django - 将查询集序列化为 JSON 需要很多时间。我该如何调试呢?
我将 10000 个批量的 Django 模型对象序列化为 json 并发送它们。我正在使用DjangoFullSerializers从 wadofstuff 来执行此操作,因为我还希望将相关字段与我的对象一起序列化。在服务器负载高峰期间,一批大约需要 9-10 分钟才能完成。获取 10000 个 MySQL 对象需要 1-2 秒。我不确定 JSON 的序列化可能会采取什么措施来承担如此多的开销。我尝试过使用 simplejson(它没有提供序列化相关字段的选项),但是花费的时间仍然足够长。我不确定,但我认为,wadofstuff 在屏幕后面使用 simplejson。我无法使用 Django 配置 cjson,因此无法对此进行测试。但是我怎样才能优化配置或改进当前设置的使用。直觉上,我觉得,一旦数据被提取到内存中,将 10000 个对象转换为 JSON 应该不会花这么长时间。我正在附加使用 cProfile 获取的配置文件转储。请看一下并提出一些建议/提示/帮助。
提前致谢。
更新 1:还编写了我用于测试的代码。我在 shell 中运行它。
django - 如何捕获和查看 JSON 响应?
我有以下视图,我从模型中获取数据,然后将其序列化为 JSON。
视图.py
在客户端,我现在想显示此内容。我正在使用 jQuery 的函数getJSON
来存档它。它不会显示任何内容,并且 setTimeout 也不起作用。但是当我用firebug调试它时我得到了一个响应,但是它并没有调用该alert()
函数来查看数据。一段时间以来,我一直试图找出问题所在。所以我想知道我的脚本是否有问题?
javascript
python - django 序列化外键对象
已经有几个问题要求同样的事情。但它们是 2010 年的,对我没有太大帮助。所以我认为这可能是自 2010 年以来这方面的一些更新?
在谷歌上我找到了这个链接,它解释了自然键的用法。但是,我担心从中获取异物的问题,django.contrib.auth.models.User
因此无济于事。
我的问题如下。我想序列化 QuerySet 所以我也得到外键对象,因为我想将它作为 JSON 传递给客户端。来自的序列化django.core
程序不会这样做。因此,在我的情况下,为了简单地解决问题,我在模型中添加了另一个字段以包含我需要的来自外来对象的值。但是它引入了冗余数据。
我的示例模型包含username
我希望尽可能删除的模型,而是通过外键获取它。
python - 尝试 JSON 序列化自定义 Django 模型字段时出现 TypeError
我已经编写了一个自定义 Django 模型字段来存储dateutil.relativedelta
's. 该字段如下所示:
我正在尝试将具有此字段的对象序列化为 json:
但我收到一个错误:
通过使用pdb
,我可以看到o
在这种情况下是对象本身,它没有被转换为任何东西,也没有被序列化。
我该如何解决这个问题,以便我可以序列化我的字段?
Django 文档说(https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#converting-field-data-for-serialization)添加 a value_to_string
,我确实有。
django - 使用自定义 m2m“通过”访问 django 反序列化对象中的旧 m2m_data
如果 m2m 关系是使用自定义“通过”建立的,如何在反序列化的 Django 模型实例中访问旧的 m2m_data?
反序列化对象中的 m2m_data 字段不包含具有自定义“通过”的 m2m 字段,如果我尝试访问 deserialized_object.object.filed 中的该字段 - ORM 对 DB 进行查询并返回该 m2m 关系的当前记录...
python - 使用模型在 Django 中创建 JSON 响应
我在这里遇到了一些问题。我正在尝试返回由消息和模型实例组成的 JSON 响应:
但我不断得到:
这是为什么?我以前见过:
这有效......有什么区别?!
谢谢!
python - Django将模型方法的输出添加到序列化对象
我有一个模型,它有一种方法来计算其包含值与其他相关子对象相比所包含的百分比:
当我将此对象序列化为 JSON 输出时,我想在 JSON 输出中包含该百分比方法的值。
我尝试了各种 hacky 方法,使用model_to_dict
然后将值添加到 dict。这适用于转储数据,但在重新加载它时会导致问题,因为它不存储 Django 内置serializers_serialize
函数在转储数据时所做的模型键。
我也热衷于使用 的use_natural_keys
选项serializers_serialize
,自然model_to_dict
不包括这个 - 我想我也可以随意添加它,但似乎我非常反对系统。有任何想法吗?