def __init__(self, *args, **kwargs):
fields = []
defaults = {
'widget': self.widget,
'max_length': kwargs.pop('max_length', None),
}
self.locales = kwargs.pop('locales', [l[0] for l in settings.LANGUAGES])
self.one_required = kwargs.get('required', True)
require_all_fields = kwargs.pop('require_all_fields', False)
kwargs['required'] = False
kwargs['widget'] = kwargs['widget'](
locales=self.locales, field=self, **kwargs.pop('widget_kwargs', {})
)
defaults.update(**kwargs)
for lngcode in self.locales:
defaults['label'] = '%s (%s)' % (defaults.get('label'), lngcode)
field = forms.CharField(**defaults)
field.locale = lngcode
fields.append(field)
super().__init__(
fields=fields, require_all_fields=False, *args, **kwargs
)
self.require_all_fields = require_all_fields
评论列表
文章目录