def __init__(self, *args, **kwargs): self.event = kwargs.pop('event') super().__init__(*args, **kwargs) for fname in self.default_fields: kwargs = DEFAULTS[fname].get('serializer_kwargs', {}) if callable(kwargs): kwargs = kwargs() kwargs.setdefault('required', False) kwargs.setdefault('allow_null', True) form_kwargs = DEFAULTS[fname].get('form_kwargs', {}) if callable(form_kwargs): form_kwargs = form_kwargs() if 'serializer_class' not in DEFAULTS[fname]: raise ValidationError('{} has no serializer class'.format(fname)) f = DEFAULTS[fname]['serializer_class']( **kwargs ) f._label = form_kwargs.get('label', fname) f._help_text = form_kwargs.get('help_text') self.fields[fname] = f for recv, resp in api_event_settings_fields.send(sender=self.event): for fname, field in resp.items(): field.required = False self.fields[fname] = field
def __init__(self, *args, **kwargs): self.event = kwargs.pop('event') super().__init__(*args, **kwargs) for recv, resp in api_event_settings_fields.send(sender=self.event): for fname, field in resp.items(): field.required = False self.fields[fname] = field