diff --git a/rest_framework_mongoengine/serializers.py b/rest_framework_mongoengine/serializers.py index 6099848..415e13e 100644 --- a/rest_framework_mongoengine/serializers.py +++ b/rest_framework_mongoengine/serializers.py @@ -643,11 +643,6 @@ def build_standard_field(self, field_name, model_field): # `allow_blank` is only valid for textual fields. field_kwargs.pop('allow_blank', None) - if field_class is drf_fields.BooleanField and field_kwargs.get('allow_null', False): - field_kwargs.pop('allow_null', None) - field_kwargs.pop('default', None) - field_class = drf_fields.NullBooleanField - return field_class, field_kwargs def build_compound_field(self, field_name, model_field, child_field): diff --git a/tests/test_basic.py b/tests/test_basic.py index 618691d..ea18e1a 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -115,7 +115,7 @@ class Meta: long_field = IntegerField(required=False) float_field = FloatField(required=False) boolean_field = BooleanField(required=False) - nullboolean_field = NullBooleanField(required=False) + nullboolean_field = BooleanField(allow_null=True, required=False) date_field = DateTimeField(required=False) complexdate_field = DateTimeField(required=False) uuid_field = UUIDField(required=False) @@ -167,7 +167,7 @@ class Meta: long_field = IntegerField(required=False) float_field = FloatField(required=False) boolean_field = BooleanField(required=False) - nullboolean_field = NullBooleanField(required=False) + nullboolean_field = BooleanField(allow_null=True, required=False) date_field = DateTimeField(required=False) complexdate_field = DateTimeField(required=False) uuid_field = UUIDField(required=False)