From 2a90d77e79de4165f21a5ee1c2561c15aad9f0ae Mon Sep 17 00:00:00 2001 From: Arto Jantunen Date: Tue, 6 Feb 2024 09:25:40 +0200 Subject: [PATCH] Remove the requirement for NullBooleanField Removed in DRF version 3.14.0. --- rest_framework_mongoengine/serializers.py | 5 ----- tests/test_basic.py | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) 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)