From e7fa49a6e2146a629396b044cfd80f2bd69b4783 Mon Sep 17 00:00:00 2001 From: Benbb96 Date: Tue, 25 Feb 2020 11:50:21 +0100 Subject: [PATCH] Prevent literal "None" placeholders (#591) --- django_select2/forms.py | 2 +- tests/test_forms.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/django_select2/forms.py b/django_select2/forms.py index 1fa858a..b21bee4 100644 --- a/django_select2/forms.py +++ b/django_select2/forms.py @@ -80,7 +80,7 @@ class Select2Mixin: default_attrs['data-allow-clear'] = 'false' else: default_attrs['data-allow-clear'] = 'true' - default_attrs['data-placeholder'] = self.empty_label + default_attrs['data-placeholder'] = self.empty_label or "" default_attrs.update(base_attrs) attrs = super().build_attrs(default_attrs, extra_attrs=extra_attrs) diff --git a/tests/test_forms.py b/tests/test_forms.py index 797dfd4..d07c381 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -95,7 +95,9 @@ class TestSelect2Mixin: multiple_select = self.multiple_form.fields['featured_artists'] assert multiple_select.required is False assert multiple_select.widget.allow_multiple_selected - assert '' not in multiple_select.widget.render('featured_artists', None) + output = multiple_select.widget.render('featured_artists', None) + assert '' not in output + assert 'data-placeholder=""' in output def test_i18n(self): translation.activate('de')