From 6f6aeadf5f66f1ca788f7e7c6375d64dbfb92b00 Mon Sep 17 00:00:00 2001 From: Yuri Prezument Date: Mon, 17 Dec 2012 16:31:18 +0200 Subject: [PATCH 1/3] CharField in model should be null=True according Django docs All tests should still pass Ref #514 --- rest_framework/tests/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/tests/models.py b/rest_framework/tests/models.py index 428bf130d..3a939a248 100644 --- a/rest_framework/tests/models.py +++ b/rest_framework/tests/models.py @@ -160,7 +160,7 @@ class Photo(RESTFrameworkModel): # Model for issue #324 class BlankFieldModel(RESTFrameworkModel): - title = models.CharField(max_length=100, blank=True, null=True) + title = models.CharField(max_length=100, blank=True, null=False) # Model for issue #380 From 967f22e7d1d7feef565d32ce67401d13792cbe2b Mon Sep 17 00:00:00 2001 From: Yuri Prezument Date: Mon, 17 Dec 2012 16:49:45 +0200 Subject: [PATCH 2/3] Failing test case for #514 Serializer errors are: {'title': [u'This field is required.']} --- rest_framework/tests/serializer.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 780177aa0..7b05d2596 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -704,6 +704,10 @@ class BlankFieldTests(TestCase): serializer = self.not_blank_model_serializer_class(data=self.data) self.assertEquals(serializer.is_valid(), False) + def test_create_model_null_field(self): + serializer = self.model_serializer_class(data={}) + self.assertEquals(serializer.is_valid(), True) + #test for issue #460 class SerializerPickleTests(TestCase): From c68f7ca580989a76d335e8a12debd63f85636149 Mon Sep 17 00:00:00 2001 From: Yuri Prezument Date: Mon, 17 Dec 2012 16:57:11 +0200 Subject: [PATCH 3/3] blank=True fields are not required - fixes #514 --- rest_framework/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index caa7c980f..9c53a17af 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -456,7 +456,7 @@ class ModelSerializer(Serializer): kwargs['blank'] = model_field.blank - if model_field.null: + if model_field.null or model_field.blank: kwargs['required'] = False if model_field.has_default():