django 1.2 compatibility fixes
[matthijs/upstream/django-ldapdb.git] / ldapdb / models / fields.py
index 88b52522814bf259ec164a731ad3b265be686fd9..1a37fefca40ff91445b53461d8c77ad2c875bba4 100644 (file)
 
 from django.db.models import fields, SubfieldBase
 
+from ldapdb import escape_ldap_filter
+
 class CharField(fields.CharField):
     def __init__(self, *args, **kwargs):
         kwargs['max_length'] = 200
         super(CharField, self).__init__(*args, **kwargs)
 
-    def get_db_prep_value(self, value):
-        """Returns field's value prepared for interacting with the database
-        backend.
-
-        Used by the default implementations of ``get_db_prep_save``and
-        `get_db_prep_lookup```
-        """
-        return value.replace('\\', '\\5c')
-                    .replace('*', '\\2a')
-                    .replace('(', '\\28')
-                    .replace(')', '\\29')
-                    .replace('\0', '\\00')
-
+    def get_prep_lookup(self, lookup_type, value):
+        return escape_ldap_filter(value)
+        
 class ImageField(fields.Field):
     pass