我使用JSONField将配置参数(User_types)存储为列表,如下所示:
["user_type1", "user_type2", "user_type3"]如何查询过滤"user_type1“类型的元素?以下查询不起作用:
rows=ConfigUserTable.objects.filter(user_types__in=["user_type1"])谢谢
发布于 2021-07-12 10:17:19
使用在JSONField上被覆盖的contains查找。例如,以下代码可能会起作用:
ConfigUserTable.objects.filter(user_types__contains="user_type1")但是,这可能取决于您在字段中存储JSON数据的方式。如果您将数据存储为字典,那么对该键的查询肯定会起作用。即字段user_types中这种格式的数据
{"types": ["user_type1", "user_type2", "user_type3"]}可以像这样查询:
ConfigUserTable.objects.filter(user_types__types__contains="user_type1")参考:https://docs.djangoproject.com/en/dev/topics/db/queries/#std:fieldlookup-jsonfield.contains
https://stackoverflow.com/questions/67148754
复制相似问题