You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Djongo to integrate MongoDB with my Django project. I have a model with a JSONField and I am trying to filter based on a nested field within the JSONField. Here's a simplified version of my model and the query I am attempting:
from djongo import models as mongo_models
class ProcessIDs(mongo_models.Model):
data = mongo_models.JSONField(max_length=1000, default=dict())
# ... other fields ...
# Example object creation
process = ProcessIDs.objects.create(
data={'redirect_ids': {'ids': ['1234567', '7654321'], 'status': 'active'}, "category_type": "custom"}
)
# Attempted query
active_processes = ProcessIDs.objects.filter(data__redirect_ids__status__exact='active')
This query results in the following error: FieldError: Unsupported lookup ‘redirect_ids’ for JSONField or join on the field not permitted.
I am looking for a way to filter by the nested field data->redirect_ids->status using Django ORM with Djongo. Is this a known limitation, or is there a workaround to achieve this?
The text was updated successfully, but these errors were encountered:
[EDIT]
I have done this with a djongo version before Nov 13 merge. Maybe now it is fixed but still not uploaded to PIP so try with building from repo and use syntax proposed by @raykhey
[/EDIT]
the problem is with LikeOp and CmpOp from operators.py - there should be a recursive dictionary crawler to build a proper Mongo query. My workaround was:
clone repository
fix LikeOp by adding some method to crawl dictionary and CmpOp to properly build query
I am using Djongo to integrate MongoDB with my Django project. I have a model with a
JSONField
and I am trying to filter based on a nested field within theJSONField
. Here's a simplified version of my model and the query I am attempting:This query results in the following error:
FieldError: Unsupported lookup ‘redirect_ids’ for JSONField or join on the field not permitted.
I am looking for a way to filter by the nested field data->redirect_ids->status using Django ORM with Djongo. Is this a known limitation, or is there a workaround to achieve this?
The text was updated successfully, but these errors were encountered: