如何在 Django 的字段查找中转义冒号?



我已经将一些JSON元数据带入了一个JSONfield(),一些键名称包括一个冒号。我是否能够转义字段查找,以便我可以执行类似以下示例的操作?

filtered_qs = queryset.filter(data__properties__object:key="some_value")

其中object:key是我的 JSON 密钥的名称

目前我收到keyword cannot be an expression语法错误。

我正在使用Postgres 11.2和Django 2.2.2。

您可以使用字典扩展:

filtered_qs = queryset.filter(**{"data__properties__object:key": "some_value"})

不,在这种情况下您无法转义冒号。

但是,您可以使用包含查找获得相同的结果。

filtered_qs = queryset.filter(data__properties__contains={'object:key': 'some_value'})

最新更新