Snowflake-Labs / django-snowflake

MIT License
59 stars 15 forks source link

JSONField queries with complex JSON parameters don't work #58

Open timgraham opened 1 year ago

timgraham commented 1 year ago

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"}',)))