mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-02 11:30:12 +03:00
Add test for default argument in PrimaryKeyRelatedField
This commit is contained in:
parent
916d8ab37d
commit
c94cc64043
|
@ -883,6 +883,34 @@ class ManyRelatedTests(TestCase):
|
|||
}
|
||||
self.assertEqual(serializer.data, expected)
|
||||
|
||||
def test_default_value(self):
|
||||
writer = Person()
|
||||
writer.save()
|
||||
|
||||
def callable_default():
|
||||
return writer.id
|
||||
|
||||
class BlogPostSerializer(serializers.ModelSerializer):
|
||||
title = serializers.CharField(default=callable_default)
|
||||
writer = serializers.PrimaryKeyRelatedField(many=False, read_only=False, required=False, default=callable_default)
|
||||
|
||||
class Meta:
|
||||
model = BlogPost
|
||||
fields = ('id', 'title', 'writer')
|
||||
|
||||
serializer = BlogPostSerializer(data={})
|
||||
|
||||
self.assertTrue(serializer.is_valid())
|
||||
|
||||
serializer.save()
|
||||
|
||||
expected = {
|
||||
'id': 1,
|
||||
'title': str(callable_default()),
|
||||
'writer': callable_default()
|
||||
}
|
||||
self.assertEqual(serializer.data, expected)
|
||||
|
||||
|
||||
class RelatedTraversalTest(TestCase):
|
||||
def test_nested_traversal(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user