我有一个这样的型号

class SomeModel(models.Model):
    data = models.JSONField(null=False)

SomeModel的数据类似于

id:1, data:{'one': ['1', '2', '3'], 'two': ['2', '3'], ...}

id:2, data:{'one': ['1', '2'], 'two': ['2'], ...}

id:3, data:{'one': ['1', '3'], 'two': ['3'], ...}

我想过滤所有得到‘2’的对象.

我需要一些帮助:

推荐答案

使用jsonb查询(read Django document)

result =SomeModel.objects.filter(data__one__contains='2',data__two__contains='2')[:]

始终try 以从数据库检索数据的成本较低的方式存储数据,当然,并不总是建议这样做. 也许在某些情况下,写作比阅读更重要

如果您不知道数据中有多少个密钥,并且想要判断所有密钥,那么您 Select 了一个错误的方法! 最好用另一种方式保存数据

Django相关问答推荐

Django模型ManyToManyField.Add不起作用

管理器不能通过对象上的对象实例访问.保存()

Django基于查询集动态筛选字段名称

如何在 Fargate 容器中运行的 Django 中使用 AWS SES?

将两个视图重定向到具有不同 url id Django 的一个模板的正确方法

访问默认的 django-allauth 登录和注册页面时出现 TemplateSyntaxError

基于令牌的身份验证如何工作?

Django - 是否可以为查询集预取单个字段的多个过滤器?

Django ORM __in 但不是精确的,包含不区分大小写的?

django - 表单没有错误,但 form.is_valid() 没有验证

如何在 Django 中创建一个独特的 slug

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

Django 从 url 保存图像并与 ImageField 连接

如何测试某个日志(log)消息是否记录在 Django 测试用例中?

在 Django 管理员中嵌套内联?

我应该如何在我的模型中使用 DurationField?

如何在 Django 中测试自定义模板标签?

找不到 msguniq.确保您安装了 GNU gettext 工具 0.15 或更新版本. (Django 1.8 和 OSX ElCapitan)

如何在 django 2.0 admin 中使用 allow_tags?

运行单元测试时禁用 Django South?