问题标签 [django-jsonfield]

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.

0 投票
3 回答
2801 浏览

python - Django db 错误:尝试使用 jsonfield 注释模型时无法识别 json 类型的相等运算符

我在 Django 1.5.4 和 PostgreSQL 9.3 中工作,将django-jsonfield用于 JSONField。

以下查询引发 db 错误(无法识别 json 类型的相等运算符):

field_to_count_by不是 JSONField,普通的int 字段。

有什么想法可以解决问题并仍然使用注释吗?

引擎盖后面有什么注释?

0 投票
3 回答
19825 浏览

python - 将 django 升级到 1.6.5 后,django 对象不是 JSON 可序列化错误

我有一个 django 应用程序,它在1.4.2版本上运行并且工作完全正常,但最近我将它更新到 django1.6.5并面临一些奇怪的错误,如下所示

实际上,我在我的网站功能中的用户/客户端注册过程中得到了这个

追溯

我对为什么更新后出现上述 json 错误以及我在一些模型中使用自定义 json 字段的方式感到困惑,如下所示

项目/utils.py

设置.py

json_serializer.py

那么如何解决上述错误呢?有人可以解释导致错误的原因吗?

0 投票
1 回答
1975 浏览

django - django json 字段:哪个?

我正在寻找 Django 的 JSON 字段。

我主要找到了 2 个 jsonfield 应用程序,但我不确定应该使用哪一个。

我看到的主要区别是第一个不再支持 PostgreSQL 的原生 JSON 数据类型。

它最近已被删除(https://github.com/bradjasper/django-jsonfield/commit/15957c9dab18c546ae5c119f8a6057e5db6b2135)。它与这个问题有关https://github.com/bradjasper/django-jsonfield/issues/57 但我不确定这是否是正确的方法,因为 JSONB 也即将与 PostgreSQL 9.4 一起推出。我认为在使用 PostgreSQL 时最好使用本机数据类型。你怎么看?

1) https://github.com/bradjasper/django-jsonfield

2) https://bitbucket.org/schinckel/django-jsonfield/

0 投票
0 回答
72 浏览

django-rest-framework - Django rest 框架输出带有 unicode 前缀的 JSONField

在我的 api 中,JSONField 的输出如下所示:

应该:

我使用 djangorestframework==3.1.1,jsonfield==1.0.3,Django==1.7.4,python 2.7.6

在旧项目中没有这个问题。为什么现在发生这种情况有什么想法吗?

更新

使用此解决方案解决:https ://stackoverflow.com/a/28200902/632182

0 投票
1 回答
957 浏览

django - DjangoModelFactory JsonField 返回 Unicode 数据而不是字典数据

我正在尝试JSONField使用 factoryboy设置类型字段DjangoModelFactory。这是代码:

在数据库查询集响应中,我将data字段作为Unicode而不是作为dict.

我错过了什么吗?

0 投票
3 回答
2057 浏览

python - 在 django 中通过空 JsonField 查询

我需要通过 a 查询模型JsonField,我想获取所有具有空值([])的记录:

我用过MyModel.objects.filter(myjsonfield=[]),但它不工作,它返回 0 结果虽然有记录myjsonfield=[]

0 投票
1 回答
500 浏览

python - 如何处理包含 JSON 对象列表的请求

我正在研究 Django 中的 REST API。

这是我的看法:

它工作正常

但不与

如何处理 JSON 对象列表?

0 投票
2 回答
768 浏览

python - JSONField 被保存为字符串 django

我有一个如下的 Django 模型:

当我在此地址中保存一个 json 时,它会保存为字符串。这是一个代码片段:

现在,如果我尝试检索 appuser.address 它给了我

而且它是递归的。我在这里想念什么?

编辑: AppUser 继承自 SCUser 模型。

0 投票
1 回答
1609 浏览

django - Django 模型:向自定义字段添加验证

TLDR;

如何提供封装在字段类中的自定义、模型级别、字段验证?

其余的部分

我正在玩两个 JSONField 实现,(第一个第二个)。我正在为我的应用程序使用 Django 和 Django REST 框架的组合。我没有在表单级别做任何事情,只有一个暴露模型的 Web API。

理想情况下,我想在一个地方编写此验证,并使其在序列化程序级别 + 模型级别上运行(例如当我通过 a 时validators=[x])。我不能使用通常的validators=[x],因为我需要允许blank=True但还要验证空白值类型:|。

我有一个用例,我想验证我的JSONField. 使用validictory,我可以这样做:

  • 强行拨打self.full_clean()我的电话save()
  • 覆盖clean()我的模型并在那里进行验证

但是,我真正想做的是:将此验证添加到JSONField. 我想离开尽可能多的父Field类来做这件事。到目前为止,我有:

但是,我无法让它工作。此validate()方法不会在第二个实现中运行,而对于第一个,它会运行 4 次。

使困惑。

0 投票
3 回答
16007 浏览

python - Django 过滤 JSONField 字典列表

我使用新的 JSONField 运行 Django 1.9 并具有以下测试模型:

假设动作 JSONField 看起来像这样:

我希望能够过滤列表中每个项目的 foo1 和 foo2 键。当我做 :

测试在查询集中。但是当我这样做时:

不是,这是有道理的。我想做类似的事情:

或者

并在查询集中进行测试。

知道这是否可以做到以及如何做到吗?