From: Stephen Burrows Date: Tue, 12 Apr 2011 20:21:44 +0000 (-0400) Subject: Added crude double-import detection to search registration. Added Django 1.2 fallback... X-Git-Tag: philo-0.9~15^2~4 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/93055ee2e0b531ab2390d39402f0d6bbd0b08874 Added crude double-import detection to search registration. Added Django 1.2 fallback to SlugMultipleChoiceField formfield method. --- diff --git a/contrib/sobol/search.py b/contrib/sobol/search.py index 36c2b5d..843af81 100644 --- a/contrib/sobol/search.py +++ b/contrib/sobol/search.py @@ -42,8 +42,9 @@ class SearchRegistry(object): def register(self, search, slug=None): slug = slug or search.slug if slug in self._registry: - if self._registry[slug] != search: - raise RegistrationError("A different search is already registered as `%s`") + registered = self._registry[slug] + if registered.__module__ != search.__module__: + raise RegistrationError("A different search is already registered as `%s`" % slug) else: self._registry[slug] = search diff --git a/models/fields/__init__.py b/models/fields/__init__.py index 1f9603e..d900e31 100644 --- a/models/fields/__init__.py +++ b/models/fields/__init__.py @@ -109,7 +109,8 @@ class SlugMultipleChoiceField(models.Field): del kwargs[k] defaults.update(kwargs) - form_class = forms.TypedMultipleChoiceField + # Django 1.2 does not supply MultipleChoiceField + form_class = getattr(forms, 'TypedMultipleChoiceField', forms.MultipleChoiceField) return form_class(**defaults) def validate(self, value, model_instance):