mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-03 03:50:11 +03:00
Changed name to username to avoid confusion with the related name field.
This commit is contained in:
parent
be7183f196
commit
de0a072d5a
|
@ -1846,29 +1846,29 @@ class RelationSpanningSerializerTest(TestCase):
|
|||
def test_model_traversal_creation(self):
|
||||
"""Update a field through a foreign key during a creation."""
|
||||
class TicketSerializer(serializers.ModelSerializer):
|
||||
name = fields.CharField(source='assigned.name')
|
||||
username = fields.CharField(source='assigned.name')
|
||||
|
||||
class Meta:
|
||||
model = Ticket
|
||||
fields = ('name',)
|
||||
fields = ('username',)
|
||||
|
||||
serializer = TicketSerializer(data={'name': 'doe'})
|
||||
serializer = TicketSerializer(data={'username': 'doe'})
|
||||
self.assertFalse(serializer.is_valid())
|
||||
self.assertEqual(serializer.errors, {'name': 'You can not set dotted sources during creation.'})
|
||||
self.assertEqual(serializer.errors, {'username': 'You can not set dotted sources during creation.'})
|
||||
|
||||
def test_model_traversal_update(self):
|
||||
"""Update a field through a foreign key during an update."""
|
||||
class TicketSerializer(serializers.ModelSerializer):
|
||||
name = fields.CharField(source='assigned.name')
|
||||
username = fields.CharField(source='assigned.name')
|
||||
|
||||
class Meta:
|
||||
model = Ticket
|
||||
fields = ('name',)
|
||||
fields = ('username',)
|
||||
|
||||
owner = Person.objects.create(name='john')
|
||||
reviewer = Person.objects.create(name='reviewer')
|
||||
ticket = Ticket.objects.create(assigned=owner, reviewer=reviewer)
|
||||
serializer = TicketSerializer(ticket, data={'name': 'doe'})
|
||||
serializer = TicketSerializer(ticket, data={'username': 'doe'})
|
||||
self.assertTrue(serializer.is_valid())
|
||||
self.assertEqual(serializer.object.assigned.name, 'doe')
|
||||
serializer.save()
|
||||
|
@ -1877,15 +1877,15 @@ class RelationSpanningSerializerTest(TestCase):
|
|||
def test_failing_model_traversal(self):
|
||||
"""Update a field through an unknown relation."""
|
||||
class TicketSerializer(serializers.ModelSerializer):
|
||||
name = fields.CharField(source='demo.name')
|
||||
username = fields.CharField(source='demo.name')
|
||||
|
||||
class Meta:
|
||||
model = Ticket
|
||||
fields = ('name',)
|
||||
fields = ('username',)
|
||||
|
||||
owner = Person(name='john')
|
||||
reviewer = Person(name='reviewer')
|
||||
ticket = Ticket(assigned=owner, reviewer=reviewer)
|
||||
serializer = TicketSerializer(ticket, data={'name': 'doe'})
|
||||
serializer = TicketSerializer(ticket, data={'username': 'doe'})
|
||||
self.assertFalse(serializer.is_valid())
|
||||
self.assertEqual(serializer.errors, {'name': 'Related object does not exist.'})
|
||||
self.assertEqual(serializer.errors, {'username': 'Related object does not exist.'})
|
||||
|
|
Loading…
Reference in New Issue
Block a user