Django 查询集过滤空 JSONField

Posted

技术标签:

【中文标题】Django 查询集过滤空 JSONField【英文标题】:Django queryset filter empty JSONField 【发布时间】:2020-10-08 08:08:41 【问题描述】:

我想过滤一个 JSONField my_field其中 JSon 不为空。在文档中有has_keyhas_any_key 方法,但我事先不知道可能的键。在 SQL 中应该是这样的:

select * from my_model where cardinality(my_field)>0;

【问题讨论】:

***.com/questions/844556/… 这个过滤器空值。我想过滤空json(大小为0的json) 【参考方案1】:

找到了使用iexact实现的方法:

MyObject.objects.filter(my_field__iexact="")

【讨论】:

以上是关于Django 查询集过滤空 JSONField的主要内容,如果未能解决你的问题,请参考以下文章

使用 ORM Django 过滤新更新的查询集返回空查询集

Django JSONField 字符串包含

如何在 DJANGO 中查询包含值列表的 JSONField

使用 django 查询 set values() 索引到 JSONField

如果空字段返回所有元素,则在 Django 中查询集

Django Newbie - 使用多字段表单,如何消除查询集中的空字段