0

假设我有一个带有数据的 jsonfield

from django.contrib.postgres.fields import JSONField

class Foo(models.Model):
   json_field = JSONField(default=dict)

json_field = {
  'bar': [1,2,3,4]
}

我想过滤bar数组长度大于 3的数据

像下面这样的东西,Foo.objects.filter(json_field__bar__length__gt=3)

4

1 回答 1

0

你可以试试这个:

在模型中再创建一个字段,即json_field_bar_length.

class Foo(models.Model):
    ....
    json_field_bar_length = models.IntegerField(default=0)

并在json_field['bar']其中保存 json_field 时输入长度并检查长度是否更大。

于 2020-11-27T07:09:37.153 回答