Django queryset 过滤空的 JSONField

3

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

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

https://dev59.com/qnRA5IYBdhLWcg3wvgkb - hansTheFranz
1
这个过滤器可以过滤掉空值。我想要过滤掉空的JSON(即大小为0的JSON)。 - Othman
2个回答

4

找到了一种使用 iexact 的方法:

MyObject.objects.filter(my_field__iexact="{}")

0

根据文档,你可以使用

MyModel.objects.include(myjsonfield__exact=[])
MyModel.objects.exclude(myjsonfield__exact=[])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接