Opened 3 years ago
Closed 3 years ago
#33935 closed Uncategorized (duplicate)
Support unaccent function in JSONField values
Description (last modified by ) ¶
With a JSONField value with the following shape: my_object.my_json_field = {"en": "sôme téxt"}
Doing the following queryset: MyModel.objects.filter(my_json_field__en__unaccent__icontains="text")
does not match the above record, because Django interprets "unaccent"' as a key to find in the JSON dict, whereas I meant the PostgreSQL unaccent
function.
By comparison, with a CharField, MyModel.objects.filter(my_char_field__unaccent__icontains="test")
works as expected.
It seems that unaccent
is only supported on CharField and TextField for now, but since what I am trying to do is possible in SQL, it might be made possible as well using the ORM.
Details in this StackOverflow question: https://stackoverflow.com/questions/73385812/looking-up-value-in-jsonfield-with-unaccent-and-icontains
.
I am tagging QuerySet.extra because my workaround was to write the SQL where clause I expected using QuerySet.extra
.
Change History (2)
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Duplicate of #26511 (see also #27824 and Simon's comment).