django JSONField包含大于

时间:2019-06-03 07:02:13

标签: python django postgresql django-orm django-jsonfield

我有一个带有JSON字段的模型Item

metadata = JSONField(null=True)

样本内容: [{"value": 50, name: "other"}, {"value": 60, name: "other2"}]

如何查询“值”大于50的所有行?

我尝试过

Item.objects.filter(metadata__contains__value__gt=50)

我设法用来查询确切的值

Item.objects.filter(metadata__contains=[{"value": 50}])

1 个答案:

答案 0 :(得分:0)

要基于给定的字典键进行查询,只需使用该键作为查找名称。 例如:

Item.objects.filter(metadata__value__gte=50)