Ok, I jumped into Django's code and it seems that the where_constraints is instead an array of sql strings, not the keyword mapping.
so instead of: where_constraints = {'online__exact: True} you would need: where_constraints = ['online = true'] Unfortunately, this basically makes it impossible to retrieve any row in the database that doesn't match the clause. So in my example, if you set the online field to false, you can never retrieve that article without resorting to altering the database outside of django.