mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 04:20:12 +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):
|
def test_model_traversal_creation(self):
|
||||||
"""Update a field through a foreign key during a creation."""
|
"""Update a field through a foreign key during a creation."""
|
||||||
class TicketSerializer(serializers.ModelSerializer):
|
class TicketSerializer(serializers.ModelSerializer):
|
||||||
name = fields.CharField(source='assigned.name')
|
username = fields.CharField(source='assigned.name')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Ticket
|
model = Ticket
|
||||||
fields = ('name',)
|
fields = ('username',)
|
||||||
|
|
||||||
serializer = TicketSerializer(data={'name': 'doe'})
|
serializer = TicketSerializer(data={'username': 'doe'})
|
||||||
self.assertFalse(serializer.is_valid())
|
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):
|
def test_model_traversal_update(self):
|
||||||
"""Update a field through a foreign key during an update."""
|
"""Update a field through a foreign key during an update."""
|
||||||
class TicketSerializer(serializers.ModelSerializer):
|
class TicketSerializer(serializers.ModelSerializer):
|
||||||
name = fields.CharField(source='assigned.name')
|
username = fields.CharField(source='assigned.name')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Ticket
|
model = Ticket
|
||||||
fields = ('name',)
|
fields = ('username',)
|
||||||
|
|
||||||
owner = Person.objects.create(name='john')
|
owner = Person.objects.create(name='john')
|
||||||
reviewer = Person.objects.create(name='reviewer')
|
reviewer = Person.objects.create(name='reviewer')
|
||||||
ticket = Ticket.objects.create(assigned=owner, reviewer=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.assertTrue(serializer.is_valid())
|
||||||
self.assertEqual(serializer.object.assigned.name, 'doe')
|
self.assertEqual(serializer.object.assigned.name, 'doe')
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
@ -1877,15 +1877,15 @@ class RelationSpanningSerializerTest(TestCase):
|
||||||
def test_failing_model_traversal(self):
|
def test_failing_model_traversal(self):
|
||||||
"""Update a field through an unknown relation."""
|
"""Update a field through an unknown relation."""
|
||||||
class TicketSerializer(serializers.ModelSerializer):
|
class TicketSerializer(serializers.ModelSerializer):
|
||||||
name = fields.CharField(source='demo.name')
|
username = fields.CharField(source='demo.name')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Ticket
|
model = Ticket
|
||||||
fields = ('name',)
|
fields = ('username',)
|
||||||
|
|
||||||
owner = Person(name='john')
|
owner = Person(name='john')
|
||||||
reviewer = Person(name='reviewer')
|
reviewer = Person(name='reviewer')
|
||||||
ticket = Ticket(assigned=owner, reviewer=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.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