- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
据我所知,您不能在 Django 原生 JSONField
上使用 __isnull
查找。在网上我找到了this不活跃的问题。作为可能的解决方法,我们当然可以使用这些技巧:
model.objects.filter(field__contains={'key': None})
,它不太灵活,因为您可能需要查询多个键或其他内容。
model.objects.exclude(field__key=True).exclude(field__key=False)
,这是 hacky,仅适用于 bool 数据。
我希望有更好的方法((c) Raymond Hettinger)来做到这一点。任何建议将不胜感激。现在,我将采用第一种方法
最佳答案
根据 this (请参阅最后一条结束评论)以下内容应该可以工作model.objects.filter(field__key=None)
(但显然您应该使用带有修复程序的 Django 版本)。
警告
Since any string could be a key in a JSON object, any lookup otherthan those listed below will be interpreted as a key lookup. No errorsare raised. Be extra careful for typing mistakes, and always checkyour queries work as you intend.
和here他们是
关于python - Django JSONField isnull 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528516/
问题 设置 JSONField 的最佳方法是什么?在 django 中拥有新列表的默认值? 上下文 有一个模型,其中一个字段是项目列表。在没有项目集的情况下,模型应该有一个空列表。 当前解决方案 fr
我有一个使用 bradjasper 的 django-jsonfield 的 Postgres 9.4/Django 1.8 数据库包裹。 (参见 https://github.com/bradjas
我想过滤一个 JSONField my_field,其中 JSON 不为空。在文档中有 has_key 和 has_any_key 方法,但我事先不知道可能的 key 。在 SQL 中它应该是这样的:
我的课是这样的: class Foo(models.Model): known_by = JSONField() 我的数据看起来像这样 { "known_by" : [
class Blog: values = JSONField(blank=True, default=list) [ { "id": 1, "value": "31" }
我在 Django 的模型上有一个 JSONField,称为 metadata。 该字段中的数据可能看起来像这样 { "vis": { "plots": [
我有一个 jsonfield foo = JSONField(default=list) 我想过滤查询集,以便 foo 有一些数据(不是空列表) 我试过了 MyModel.objects.filter
是否可以使用ILIKE(包含)运算符在词典列表中搜索一个键值?我的json字段看起来像这样: object = MyModel() object.json_data = [ {
使用 JSONField 时,内容会在读取值时自动从 JSON 解码为 python 对象。我有一个用例,我将字符串编码回 JSON 以嵌入到模板中。有什么方法可以从对象中获取原始 JSON 字符串吗
我们一直在使用来自 jsonfield 的 JSONField图书馆一段时间,但现在我们想使用 native PostgreSQL JSONField .所以我想知道是否可以更改现有模型的字段类型,保
我有这个模型: class InventoryItem(models.Model): size_range = JSONField(null=True) # JSONField in Dja
我从 Django 的文档中获取了以下示例,除了替换添加了一个键 '99': >>> Dog.objects.create(name='Rufus', data={ ... 'breed': 'lab
在我的应用程序中,有一个模型将配置存储在其字段之一中。该字段定义为 JSONField。我有一个严格的结构来定义该字段的内容应该是什么样子,但我正在努力寻找一种方法来序列化它以验证 API 请求中的数
我已经搜索了几天,试图找到一种 DRY 方法,使用 django 的内置验证和表单呈现从 JsonField 创建动态表单。我还没有找到一个包含 django 验证和渲染的解决方案,所以我想为此创建一
我通过使用 JSONField 在 mysql 中创建了一个 TextField (django) 类型的表。这就是我的模型的样子 from django.db import models from
我的模型中有一个 Json 字段 - class Product(models.Model): ... detailed_stock = JSONField(loa
这是模型: class ModelA(models.Model): field1 = models.CharField(max_length=100) field2 = models.
我正在尝试使用 Django + MySQL 为我的模型实现自定义 JSON 字段。这就是我的 models.py 的样子: from __future__ import unicode_litera
数据库是postgres 9.4在我的表中,我使用的是 JSONField class Item(models.Model): item = models.CharField(max_leng
对于经验丰富的 (Django) 开发人员来说,这可能是一个简单的问题。 我的项目的数据库是PostgreSQL。 我打算使用单个 protected 模型实例作为某些数据的集中存储。该实例将有一个
我是一名优秀的程序员,十分优秀!