aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ordoquy2014-01-09 23:19:25 +0100
committerXavier Ordoquy2014-01-09 23:19:25 +0100
commita7072eb730813dbd93cbe33da220c067beddc6d1 (patch)
tree52ed1018837affedeff2eebd0c32b1b75a9ab23c
parent593cf23ac8061efbc7cb72e2e0d29d277df2ef76 (diff)
downloaddjango-rest-framework-a7072eb730813dbd93cbe33da220c067beddc6d1.tar.bz2
Test case for #1129
-rw-r--r--rest_framework/tests/test_relations.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/rest_framework/tests/test_relations.py b/rest_framework/tests/test_relations.py
index d19219c9..f52e0e1e 100644
--- a/rest_framework/tests/test_relations.py
+++ b/rest_framework/tests/test_relations.py
@@ -98,3 +98,23 @@ class RelatedFieldSourceTests(TestCase):
obj = ClassWithQuerysetMethod()
value = field.field_to_native(obj, 'field_name')
self.assertEqual(value, ['BlogPost object'])
+
+ # Regression for #1129
+ def test_exception_for_incorect_fk(self):
+ """
+ Check that the exception message are correct if the source field
+ doesn't exist.
+ """
+ from rest_framework.tests.models import ManyToManySource
+ class Meta:
+ model = ManyToManySource
+ attrs = {
+ 'name': serializers.SlugRelatedField(
+ slug_field='name', source='banzai'),
+ 'Meta': Meta,
+ }
+
+ TestSerializer = type(str('TestSerializer'),
+ (serializers.ModelSerializer,), attrs)
+ with self.assertRaises(AttributeError):
+ TestSerializer(data={'name': 'foo'})