diff --git a/chosen/fields.py b/chosen/fields.py index 84bc67b..1526c7c 100644 --- a/chosen/fields.py +++ b/chosen/fields.py @@ -2,7 +2,9 @@ from widgets import ChosenSelect, ChosenSelectMultiple -class ChosenField(object): +__all__ = ['ChosenFieldMixin', 'ChosenChoiceField', 'ChosenMultipleChoiceField'] + +class ChosenFieldMixin(object): def __init__(self, *args, **kwargs): widget_kwargs = {} @@ -14,11 +16,11 @@ def __init__(self, *args, **kwargs): super(ChosenField, self).__init__(*args, **kwargs) -class ChosenChoiceField(ChosenField, forms.ChoiceField): +class ChosenChoiceField(ChosenFieldMixin, forms.ChoiceField): widget = ChosenSelect -class ChosenMultipleChoiceField(ChosenField, forms.MultipleChoiceField): +class ChosenMultipleChoiceField(ChosenFieldMixin, forms.MultipleChoiceField): widget = ChosenSelectMultiple diff --git a/chosen/forms.py b/chosen/forms.py new file mode 100644 index 0000000..e352905 --- /dev/null +++ b/chosen/forms.py @@ -0,0 +1,2 @@ +from chosen.fields import * +from chosen.widgets import * diff --git a/chosen/widgets.py b/chosen/widgets.py index 5b4f6fe..5e0bdd8 100644 --- a/chosen/widgets.py +++ b/chosen/widgets.py @@ -7,7 +7,9 @@ from django.core.urlresolvers import reverse from django.template.loader import render_to_string -class ChosenWidget(object): +__all__ = ['ChosenWidgetMixin', 'ChosenSelect', 'ChosenSelectMultiple'] + +class ChosenWidgetMixin(object): def __init__(self, attrs=None, *args, **kwargs): if attrs is not None: @@ -66,8 +68,8 @@ def get_media(self): media = property(get_media) -class ChosenSelect(ChosenWidget, forms.Select): +class ChosenSelect(ChosenWidgetMixin, forms.Select): pass -class ChosenSelectMultiple(ChosenWidget, forms.SelectMultiple): +class ChosenSelectMultiple(ChosenWidgetMixin, forms.SelectMultiple): pass \ No newline at end of file