drf: remove obsolete NullBooleanField serializer field (#72067)
This commit is contained in:
parent
c91d38cce3
commit
771125f0dd
|
@ -342,7 +342,10 @@ DEFAULT_ATTRIBUTE_KINDS = [
|
|||
'field_class': forms.BooleanField,
|
||||
'serialize': lambda x: str(int(bool(x))),
|
||||
'deserialize': lambda x: bool(int(x)),
|
||||
'rest_framework_field_class': serializers.NullBooleanField,
|
||||
'rest_framework_field_class': serializers.BooleanField,
|
||||
'rest_framework_field_kwargs': {
|
||||
'allow_null': True,
|
||||
},
|
||||
'html_value': lambda attribute, value: _('True') if value else _('False'),
|
||||
},
|
||||
{
|
||||
|
|
|
@ -207,12 +207,7 @@ class Attribute(models.Model):
|
|||
}
|
||||
)
|
||||
if not self.required:
|
||||
# setting an attribute to null will delete it
|
||||
# NullBooleanField and BooleanField does not support allow_null
|
||||
if field_class is serializers.BooleanField:
|
||||
field_class = serializers.NullBooleanField
|
||||
elif field_class is not serializers.NullBooleanField:
|
||||
base_kwargs['allow_null'] = True
|
||||
base_kwargs['allow_null'] = True
|
||||
# if not stated otherwise by the definition of the kind, string alike fields
|
||||
# accept blank values when not required
|
||||
if issubclass(field_class, serializers.CharField) and 'allow_blank' not in base_kwargs:
|
||||
|
@ -223,6 +218,8 @@ class Attribute(models.Model):
|
|||
base_kwargs['allow_blank'] = False
|
||||
elif issubclass(field_class, DateRestField):
|
||||
base_kwargs['allow_blank'] = False
|
||||
elif issubclass(field_class, serializers.BooleanField):
|
||||
base_kwargs['allow_null'] = False
|
||||
|
||||
base_kwargs.update(kwargs)
|
||||
return field_class(**base_kwargs)
|
||||
|
|
Loading…
Reference in New Issue