首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询django-hstore中的嵌套字典?

如何查询django-hstore中的嵌套字典?
EN

Stack Overflow用户
提问于 2016-03-14 12:18:34
回答 1查看 1.2K关注 0票数 3

我把这个存储在我的serializedDictionaryField

代码语言:javascript
复制
data = {
    'k1': 'v1',
    'k2': 'v2',
    'k3': {'nested_k': 'nested_v'}
}

是否可以通过嵌套字典的值进行过滤?就像这样

代码语言:javascript
复制
Model.objects.filter(data__contains={'nested_k': 'nested_v'})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-14 13:43:59

HStoreField只是将字符串映射到字符串,不支持嵌套结构,您可以使用内置的JSONField,即Django 1.9+中的Posgres和posgres 9.4+。

models.py:

代码语言:javascript
复制
from django.db import models
from django.contrib.postgres.fields.jsonb import JSONField
class MyModel(models.Model):
    ...
    data = JSONField(blank=True, null=True, default=dict)

views.py:

代码语言:javascript
复制
MyModel.objects.filter(data__k3__contains={'nested_k': 'nested_v'})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35987369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档