aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-12-29 13:10:43 +0000
committerTom Christie2012-12-29 13:10:43 +0000
commit250a7231d3b5e44bc5ff984ef9fd515bfd238a25 (patch)
treeb1568cd3596b2d1adbc7454c1a886311c30550f0
parent1f6af163fece28db3ba7943edce2415a23874d44 (diff)
downloaddjango-rest-framework-250a7231d3b5e44bc5ff984ef9fd515bfd238a25.tar.bz2
Add tests for nested FKs
-rw-r--r--rest_framework/tests/relations_nested.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/rest_framework/tests/relations_nested.py b/rest_framework/tests/relations_nested.py
index 3482c252..297538c4 100644
--- a/rest_framework/tests/relations_nested.py
+++ b/rest_framework/tests/relations_nested.py
@@ -16,11 +16,17 @@ class ForeignKeySource(models.Model):
class ForeignKeySourceSerializer(serializers.ModelSerializer):
class Meta:
+ depth = 1
+ model = ForeignKeySource
+
+
+class FlatForeignKeySourceSerializer(serializers.ModelSerializer):
+ class Meta:
model = ForeignKeySource
class ForeignKeyTargetSerializer(serializers.ModelSerializer):
- sources = ForeignKeySourceSerializer()
+ sources = FlatForeignKeySourceSerializer()
class Meta:
model = ForeignKeyTarget
@@ -36,6 +42,16 @@ class ReverseForeignKeyTests(TestCase):
source = ForeignKeySource(name='source-%d' % idx, target=target)
source.save()
+ def test_foreign_key_retrieve(self):
+ queryset = ForeignKeySource.objects.all()
+ serializer = ForeignKeySourceSerializer(queryset)
+ expected = [
+ {'id': 1, 'name': u'source-1', 'target': {'id': 1, 'name': u'target-1'}},
+ {'id': 2, 'name': u'source-2', 'target': {'id': 1, 'name': u'target-1'}},
+ {'id': 3, 'name': u'source-3', 'target': {'id': 1, 'name': u'target-1'}},
+ ]
+ self.assertEquals(serializer.data, expected)
+
def test_reverse_foreign_key_retrieve(self):
queryset = ForeignKeyTarget.objects.all()
serializer = ForeignKeyTargetSerializer(queryset)