def test_filter_isnull(self): results = Permission.objects.filter(filter_isnull('role')) self.assertEqual(0, results.count()) results = Permission.objects.filter(filter_isnull('agent')) self.assertEqual(1, results.count()) results = Permission.objects.filter(filter_isnull('target')) self.assertEqual(0, results.count())
def wrapped(queryset, value=ANY, prefix=None): if value is ANY: return Q() if value is NULL: return filter_isnull(key, prefix) # The fn should return a Q object. return fn(queryset, **{key: value, 'prefix': prefix})
def _get_agent_query(self, agent, prefix): # Always add in isnull return (filter_isnull('agent', prefix) | self._get_filter(get_key('agent', prefix), agent))