From 2c5f38f6a7ebb7809c9e3d049b515b9e0cd51e2d Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 13 Jun 2016 16:47:46 +0100 Subject: [PATCH] Add test confirming that required=False is valid on a relational field --- tests/test_relations_pk.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/test_relations_pk.py b/tests/test_relations_pk.py index ba75bd94fe..7a3d459272 100644 --- a/tests/test_relations_pk.py +++ b/tests/test_relations_pk.py @@ -340,6 +340,18 @@ def test_foreign_key_with_empty(self): serializer = NullableForeignKeySourceSerializer() self.assertEqual(serializer.data['target'], None) + def test_foreign_key_not_required(self): + """ + Let's say we wanted to fill the non-nullable model field inside + Model.save(), we would make it empty and not required. + """ + class ModelSerializer(ForeignKeySourceSerializer): + class Meta(ForeignKeySourceSerializer.Meta): + extra_kwargs = {'target': {'required': False}} + serializer = ModelSerializer(data={'name': 'test'}) + serializer.is_valid(raise_exception=True) + self.assertNotIn('target', serializer.validated_data) + class PKNullableForeignKeyTests(TestCase): def setUp(self):