【问题标题】:How do we query nested dictionary in django-hstore?我们如何在 django-hstore 中查询嵌套字典?
【发布时间】:2016-06-29 11:33:10
【问题描述】:

我已将其存储在我的serializedDictionaryField

data = {
    'k1': 'v1',
    'k2': 'v2',
    'k3': {'nested_k': 'nested_v'}
}

是否可以按嵌套字典的值进行过滤?像

Model.objects.filter(data__contains={'nested_k': 'nested_v'})

【问题讨论】:

标签: python django django-hstore


【解决方案1】:

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

models.py:

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:

MyModel.objects.filter(data__k3__contains={'nested_k': 'nested_v'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    相关资源
    最近更新 更多