mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-03 20:10:10 +03:00
Test creating a model with a pk relation
This commit is contained in:
parent
1085b64fec
commit
90cc4cab59
51
rest_framework/tests/test_pk_related_creation.py
Normal file
51
rest_framework/tests/test_pk_related_creation.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
from django.db import models
|
||||
from rest_framework import serializers
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
|
||||
class TestModel(models.Model):
|
||||
|
||||
class Meta:
|
||||
app_label = 'tests'
|
||||
|
||||
|
||||
class Person(TestModel):
|
||||
name = models.CharField(max_length=200)
|
||||
|
||||
|
||||
class Group(TestModel):
|
||||
name = models.TextField()
|
||||
members = models.ManyToManyField(Person)
|
||||
|
||||
|
||||
class GroupSerialiser(serializers.ModelSerializer):
|
||||
|
||||
members = serializers.PrimaryKeyRelatedField(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Group
|
||||
fields = (
|
||||
'id',
|
||||
'name',
|
||||
'members'
|
||||
)
|
||||
|
||||
|
||||
class TestPrimaryKeyRelatedRelation(TestCase):
|
||||
|
||||
def test_deserialize_group(self):
|
||||
|
||||
person = Person.objects.create(name='Person')
|
||||
data = {
|
||||
'name': 'Group Name',
|
||||
'members': [person.id]
|
||||
}
|
||||
|
||||
serializer = GroupSerialiser(data=data, files=None)
|
||||
|
||||
self.assertTrue(serializer.is_valid())
|
||||
|
||||
obj = serializer.object
|
||||
|
||||
self.assertEqual(obj.members, [person])
|
Loading…
Reference in New Issue
Block a user