Django JSONField 包含值列表

use*_*217 7 django

我的“codes”JSONField 中的值的结构如下:

[{"x": "723"}, {"x": "614"}]
Run Code Online (Sandbox Code Playgroud)

我需要获取 Events 对象,其中 event.codes "x" 键位于值列表中,例如 ['723', '332', ..]

编辑

模型是:

from django.contrib.postgres.fields import JSONField

class Events(models.Model):
    codes = JSONField(null=False, blank=True, default={})
Run Code Online (Sandbox Code Playgroud)

dev*_*rer 6

Events.objects.filter(codes__0__x__in=['723','332'])

UPD:来自django 文档

如果键是整数,它将被解释为数组中的索引查找

您将list对象存储在codesjson 属性中,因此您可以通过索引查找它(在您的情况下它的索引为零)。