django-snowflake icon indicating copy to clipboard operation
django-snowflake copied to clipboard

JSONField queries with complex JSON parameters don't work

Open timgraham opened this issue 1 year ago • 0 comments

Due to snowflake-connector-python's lack of VARIANT support (I think it's difficult if not impossible to fix this otherwise), some JSONField queries with complex JSON parameters don't work.

For example, if value is a JSONField, this won't work:

>>> JSONModel.objects.filter(value__k={"l": "m"})

A workaround is:

>>> from django.db.models.expressions import RawSQL
>>> JSONModel.objects.filter(value__k=RawSQL("PARSE_JSON(%s)", ('{"l": "m"}',)))

timgraham avatar Apr 08 '23 20:04 timgraham