add support for "greater or equal" and "less or equal" lookups on IntegerFields
[matthijs/upstream/django-ldapdb.git] / ldapdb / models / fields.py
index f269d7c126f42fb9b829210094a9e08e5b9ef504..d21bbd0dc258c31bc05a35b8a1ee2d7a0b69eb07 100644 (file)
@@ -45,11 +45,12 @@ class CharField(fields.CharField):
         return escape_ldap_filter(value)
         
 class ImageField(fields.Field):
-    pass
+    def get_db_prep_lookup(self, lookup_type, value):
+        raise TypeError("ImageField has invalid lookup: %s" % lookup_type)
 
 class IntegerField(fields.IntegerField):
     def get_db_prep_lookup(self, lookup_type, value):
-        if lookup_type == 'exact':
+        if lookup_type in ('exact', 'gte', 'lte'):
             return [value]
 
         raise TypeError("IntegerField has invalid lookup: %s" % lookup_type)
@@ -57,6 +58,9 @@ class IntegerField(fields.IntegerField):
 class ListField(fields.Field):
     __metaclass__ = SubfieldBase
 
+    def get_db_prep_lookup(self, lookup_type, value):
+        raise TypeError("ListField has invalid lookup: %s" % lookup_type)
+
     def to_python(self, value):
         if not value:
             return []