aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_model_serializer.py
diff options
context:
space:
mode:
authorBrickXu2014-12-05 13:30:56 +0800
committerBrickXu2014-12-05 13:30:56 +0800
commit4042180392fb7809d1c8d2f6ca0bc6e18c114e6c (patch)
tree5fab017db281948eecf54d9dd8d5f0a8b323fa77 /tests/test_model_serializer.py
parent81870b6e1a7b0c3c149d4bfba0e20924ebf1b187 (diff)
parente8cbf41bd9066a21bf102bb60fbb42b4b15e05f6 (diff)
downloaddjango-rest-framework-4042180392fb7809d1c8d2f6ca0bc6e18c114e6c.tar.bz2
Merge pull request #3 from tomchristie/master
Merge upstream
Diffstat (limited to 'tests/test_model_serializer.py')
-rw-r--r--tests/test_model_serializer.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py
index 3aec0da0..1bcd58e0 100644
--- a/tests/test_model_serializer.py
+++ b/tests/test_model_serializer.py
@@ -26,6 +26,10 @@ class CustomField(models.Field):
pass
+class OneFieldModel(models.Model):
+ char_field = models.CharField(max_length=100)
+
+
class RegularFieldsModel(models.Model):
"""
A model class for testing regular flat fields.
@@ -68,6 +72,26 @@ class FieldOptionsModel(models.Model):
choices_field = models.CharField(max_length=100, choices=COLOR_CHOICES)
+class TestModelSerializer(TestCase):
+ def test_create_method(self):
+ class TestSerializer(serializers.ModelSerializer):
+ non_model_field = serializers.CharField()
+
+ class Meta:
+ model = OneFieldModel
+ fields = ('char_field', 'non_model_field')
+
+ serializer = TestSerializer(data={
+ 'char_field': 'foo',
+ 'non_model_field': 'bar',
+ })
+ serializer.is_valid()
+ with self.assertRaises(TypeError) as excinfo:
+ serializer.save()
+ msginitial = 'Got a `TypeError` when calling `OneFieldModel.objects.create()`.'
+ assert str(excinfo.exception).startswith(msginitial)
+
+
class TestRegularFieldMappings(TestCase):
def test_regular_fields(self):
"""