Created
December 12, 2011 15:10
-
-
Save Wilfred/1467740 to your computer and use it in GitHub Desktop.
Patch for django-dbindexer issue #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -r ae5f7638827e dbindexer/lookups.py | |
--- a/dbindexer/lookups.py Tue Sep 06 11:07:55 2011 +0200 | |
+++ b/dbindexer/lookups.py Tue Nov 15 17:48:56 2011 +0000 | |
@@ -48,10 +48,11 @@ | |
return lookup_type, value | |
def convert_value(self, value): | |
- if isinstance(value, (tuple, list)): | |
- value = [self._convert_value(val) for val in value] | |
- else: | |
- value = self._convert_value(value) | |
+ if value is not None: | |
+ if isinstance(value, (tuple, list)): | |
+ value = [self._convert_value(val) for val in value] | |
+ else: | |
+ value = self._convert_value(value) | |
return value | |
def _convert_value(self, value): | |
@@ -258,4 +259,4 @@ | |
if isinstance(field_to_add, (models.DateTimeField, | |
models.DateField, models.TimeField)): | |
field_to_add.auto_now_add = field_to_add.auto_now = False | |
- return field_to_add | |
\ No newline at end of file | |
+ return field_to_add | |
diff -r ae5f7638827e dbindexer/tests.py | |
--- a/dbindexer/tests.py Tue Sep 06 11:07:55 2011 +0200 | |
+++ b/dbindexer/tests.py Tue Nov 15 17:48:56 2011 +0000 | |
@@ -23,6 +23,9 @@ | |
foreignkey2 = models.ForeignKey(ForeignIndexed2, related_name='idx_set', null=True) | |
tags = ListField(models.CharField(max_length=500, null=True)) | |
+class StartsWith(models.Model): | |
+ name = models.CharField(max_length=500, null=True) | |
+ | |
# TODO: add test for foreign key with multiple filters via different and equal paths | |
# to do so we have to create some entities matching equal paths but not matching | |
# different paths | |
@@ -80,6 +83,8 @@ | |
'fk__name_fi2': ('iexact', 'endswith'), | |
'fk__age': (StandardLookup()), | |
}) | |
+ | |
+ register_index(StartsWith, {'name': 'istartswith'}) | |
# TODO: add tests for created indexes for all backends! | |
# def test_model_fields(self): | |
@@ -202,6 +207,11 @@ | |
self.assertEqual(4, len(Indexed.objects.all().filter( | |
published__week_day=now.isoweekday()))) | |
+ def test_none_values(self): | |
+ """Regression test for #6""" | |
+ StartsWith.objects.create() | |
+ | |
+ | |
# def test_contains(self): | |
# # passes on production but not on gae-sdk (development) | |
# self.assertEqual(1, len(Indexed.objects.all().filter(name__contains='Aim'))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment