mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
Merge 0df0516a74
into 9c9525b130
This commit is contained in:
commit
df88655e7b
|
@ -22,6 +22,7 @@ from django.utils import six
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework.compat import set_many, unicode_repr
|
from rest_framework.compat import set_many, unicode_repr
|
||||||
|
from rest_framework.test import APIRequestFactory
|
||||||
|
|
||||||
|
|
||||||
def dedent(blocktext):
|
def dedent(blocktext):
|
||||||
|
@ -818,6 +819,51 @@ class TestIntegration(TestCase):
|
||||||
}
|
}
|
||||||
self.assertEqual(serializer.data, expected)
|
self.assertEqual(serializer.data, expected)
|
||||||
|
|
||||||
|
def test_many_to_many_not_required(self):
|
||||||
|
class TestSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = RelationalModel
|
||||||
|
fields = '__all__'
|
||||||
|
extra_kwargs = {'many_to_many': {'required': False}}
|
||||||
|
|
||||||
|
new_foreign_key = ForeignKeyTargetModel.objects.create(
|
||||||
|
name='foreign_key'
|
||||||
|
)
|
||||||
|
new_one_to_one = OneToOneTargetModel.objects.create(
|
||||||
|
name='one_to_one'
|
||||||
|
)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'foreign_key': new_foreign_key.pk,
|
||||||
|
'one_to_one': new_one_to_one.pk,
|
||||||
|
}
|
||||||
|
|
||||||
|
serializer = TestSerializer(data=data)
|
||||||
|
assert serializer.is_valid(), serializer.errors
|
||||||
|
|
||||||
|
def test_many_to_many_not_required_with_querydict(self):
|
||||||
|
class TestSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = RelationalModel
|
||||||
|
fields = '__all__'
|
||||||
|
extra_kwargs = {'many_to_many': {'required': False}}
|
||||||
|
|
||||||
|
new_foreign_key = ForeignKeyTargetModel.objects.create(
|
||||||
|
name='foreign_key'
|
||||||
|
)
|
||||||
|
new_one_to_one = OneToOneTargetModel.objects.create(
|
||||||
|
name='one_to_one'
|
||||||
|
)
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'foreign_key': new_foreign_key.pk,
|
||||||
|
'one_to_one': new_one_to_one.pk,
|
||||||
|
}
|
||||||
|
|
||||||
|
data_querydict = APIRequestFactory().post('', data).POST
|
||||||
|
|
||||||
|
serializer = TestSerializer(data=data_querydict)
|
||||||
|
assert serializer.is_valid(), serializer.errors
|
||||||
|
|
||||||
# Tests for bulk create using `ListSerializer`.
|
# Tests for bulk create using `ListSerializer`.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user