diff --git a/localized_fields/fields/field.py b/localized_fields/fields/field.py index d23e2dd..303e294 100644 --- a/localized_fields/fields/field.py +++ b/localized_fields/fields/field.py @@ -36,7 +36,7 @@ class LocalizedField(HStoreField): self.required = [] elif self.required is None and not self.blank: self.required = [settings.LANGUAGE_CODE] - elif type(self.required) == bool and self.required: + elif self.required is True: self.required = [lang_code for lang_code, _ in settings.LANGUAGES] def contribute_to_class(self, model, name, **kwargs): diff --git a/localized_fields/forms.py b/localized_fields/forms.py index 4efa1e6..fb8e1c3 100644 --- a/localized_fields/forms.py +++ b/localized_fields/forms.py @@ -25,9 +25,11 @@ class LocalizedFieldForm(forms.MultiValueField): fields = [] for lang_code, _ in settings.LANGUAGES: - field_options = {'required': lang_code in required_langs} + field_options = dict( + required=lang_code in required_langs, + label=lang_code + ) - field_options['label'] = lang_code fields.append(self.field_class(**field_options)) super(LocalizedFieldForm, self).__init__( @@ -35,9 +37,10 @@ class LocalizedFieldForm(forms.MultiValueField): require_all_fields=False, *args, **kwargs ) + # set 'required' attribute for each widget separately - for f, w in zip(self.fields, self.widget.widgets): - w.is_required = f.required + for field, widget in zip(self.fields, self.widget.widgets): + widget.is_required = field.required def compress(self, value: List[str]) -> value_class: """Compresses the values from individual fields