Djongo Boolean Filed get query is giving key error

Viewed 258

i am using MongoDB(3.6) in Django(3.1.5) through djongo(1.3.3).

models.py

from djongo import models

class ModelClass(models.Model):
       name = models.CharField(max_length=250)
       is_active = models.BooleanField(default=True)

view.py

def model_class_view(request):
      obj = ModelClass.objects.get(name='name', is_active=True)

it is giving an error: DatabaseError No exception message supplied

1 Answers

I had a similar problem and it is caused by Djongo not being able to filter for boolean fields correctly.

An issue was raised here https://github.com/nesdis/djongo/issues/465 which also proposes a workaround. So instead of is_active=True make it is_active__in=[True]

So try this:

def model_class_view(request):
      obj = ModelClass.objects.get(name='name', is_active__in=[True])
Related