mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 12:30:11 +03:00
Remove set_many compat
This commit is contained in:
parent
e4f99430af
commit
a65f1418b7
|
@ -305,15 +305,6 @@ def set_rollback():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
# TODO: Remove
|
|
||||||
def set_many(instance, field, value):
|
|
||||||
if django.VERSION < (1, 10):
|
|
||||||
setattr(instance, field, value)
|
|
||||||
else:
|
|
||||||
field = getattr(instance, field)
|
|
||||||
field.set(value)
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: Remove
|
# TODO: Remove
|
||||||
def include(module, namespace=None, app_name=None):
|
def include(module, namespace=None, app_name=None):
|
||||||
from django.conf.urls import include
|
from django.conf.urls import include
|
||||||
|
|
|
@ -27,7 +27,7 @@ from django.utils import six, timezone
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from rest_framework.compat import postgres_fields, set_many, unicode_to_repr
|
from rest_framework.compat import postgres_fields, unicode_to_repr
|
||||||
from rest_framework.exceptions import ErrorDetail, ValidationError
|
from rest_framework.exceptions import ErrorDetail, ValidationError
|
||||||
from rest_framework.fields import get_error_detail, set_value
|
from rest_framework.fields import get_error_detail, set_value
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
|
@ -932,7 +932,8 @@ class ModelSerializer(Serializer):
|
||||||
# Save many-to-many relationships after the instance is created.
|
# Save many-to-many relationships after the instance is created.
|
||||||
if many_to_many:
|
if many_to_many:
|
||||||
for field_name, value in many_to_many.items():
|
for field_name, value in many_to_many.items():
|
||||||
set_many(instance, field_name, value)
|
field = getattr(instance, field_name)
|
||||||
|
field.set(value)
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
@ -946,7 +947,8 @@ class ModelSerializer(Serializer):
|
||||||
# have an instance pk for the relationships to be associated with.
|
# have an instance pk for the relationships to be associated with.
|
||||||
for attr, value in validated_data.items():
|
for attr, value in validated_data.items():
|
||||||
if attr in info.relations and info.relations[attr].to_many:
|
if attr in info.relations and info.relations[attr].to_many:
|
||||||
set_many(instance, attr, value)
|
field = getattr(instance, attr)
|
||||||
|
field.set(value)
|
||||||
else:
|
else:
|
||||||
setattr(instance, attr, value)
|
setattr(instance, attr, value)
|
||||||
instance.save()
|
instance.save()
|
||||||
|
|
|
@ -21,7 +21,7 @@ from django.test import TestCase
|
||||||
from django.utils import six
|
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 unicode_repr
|
||||||
|
|
||||||
|
|
||||||
def dedent(blocktext):
|
def dedent(blocktext):
|
||||||
|
@ -703,8 +703,7 @@ class TestIntegration(TestCase):
|
||||||
foreign_key=self.foreign_key_target,
|
foreign_key=self.foreign_key_target,
|
||||||
one_to_one=self.one_to_one_target,
|
one_to_one=self.one_to_one_target,
|
||||||
)
|
)
|
||||||
set_many(self.instance, 'many_to_many', self.many_to_many_targets)
|
self.instance.many_to_many.set(self.many_to_many_targets)
|
||||||
self.instance.save()
|
|
||||||
|
|
||||||
def test_pk_retrival(self):
|
def test_pk_retrival(self):
|
||||||
class TestSerializer(serializers.ModelSerializer):
|
class TestSerializer(serializers.ModelSerializer):
|
||||||
|
|
|
@ -11,7 +11,7 @@ from rest_framework import (
|
||||||
HTTP_HEADER_ENCODING, authentication, generics, permissions, serializers,
|
HTTP_HEADER_ENCODING, authentication, generics, permissions, serializers,
|
||||||
status, views
|
status, views
|
||||||
)
|
)
|
||||||
from rest_framework.compat import ResolverMatch, guardian, set_many
|
from rest_framework.compat import ResolverMatch, guardian
|
||||||
from rest_framework.filters import DjangoObjectPermissionsFilter
|
from rest_framework.filters import DjangoObjectPermissionsFilter
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
from rest_framework.test import APIRequestFactory
|
from rest_framework.test import APIRequestFactory
|
||||||
|
@ -73,13 +73,14 @@ class ModelPermissionsIntegrationTests(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
User.objects.create_user('disallowed', 'disallowed@example.com', 'password')
|
User.objects.create_user('disallowed', 'disallowed@example.com', 'password')
|
||||||
user = User.objects.create_user('permitted', 'permitted@example.com', 'password')
|
user = User.objects.create_user('permitted', 'permitted@example.com', 'password')
|
||||||
set_many(user, 'user_permissions', [
|
user.user_permissions.set([
|
||||||
Permission.objects.get(codename='add_basicmodel'),
|
Permission.objects.get(codename='add_basicmodel'),
|
||||||
Permission.objects.get(codename='change_basicmodel'),
|
Permission.objects.get(codename='change_basicmodel'),
|
||||||
Permission.objects.get(codename='delete_basicmodel')
|
Permission.objects.get(codename='delete_basicmodel')
|
||||||
])
|
])
|
||||||
|
|
||||||
user = User.objects.create_user('updateonly', 'updateonly@example.com', 'password')
|
user = User.objects.create_user('updateonly', 'updateonly@example.com', 'password')
|
||||||
set_many(user, 'user_permissions', [
|
user.user_permissions.set([
|
||||||
Permission.objects.get(codename='change_basicmodel'),
|
Permission.objects.get(codename='change_basicmodel'),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ from django.contrib.auth.models import Group, User
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from rest_framework import generics, serializers
|
from rest_framework import generics, serializers
|
||||||
from rest_framework.compat import set_many
|
|
||||||
from rest_framework.test import APIRequestFactory
|
from rest_framework.test import APIRequestFactory
|
||||||
|
|
||||||
factory = APIRequestFactory()
|
factory = APIRequestFactory()
|
||||||
|
@ -23,8 +22,7 @@ class TestPrefetchRelatedUpdates(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.user = User.objects.create(username='tom', email='tom@example.com')
|
self.user = User.objects.create(username='tom', email='tom@example.com')
|
||||||
self.groups = [Group.objects.create(name='a'), Group.objects.create(name='b')]
|
self.groups = [Group.objects.create(name='a'), Group.objects.create(name='b')]
|
||||||
set_many(self.user, 'groups', self.groups)
|
self.user.groups.set(self.groups)
|
||||||
self.user.save()
|
|
||||||
|
|
||||||
def test_prefetch_related_updates(self):
|
def test_prefetch_related_updates(self):
|
||||||
view = UserUpdate.as_view()
|
view = UserUpdate.as_view()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user