summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-02-11 06:40:15 -0500
committerTim Graham <timograham@gmail.com>2017-02-11 06:40:30 -0500
commiteeb28f47512c5ff969d014ba35b9e955de1583ce (patch)
treee09c15e3547eefb0c8a4ee38729cdc320544905a /tests
parentad0b22d730f150fb95c6a0d4a78a9c7a694d380a (diff)
[1.11.x] Fixed #27742 -- Reverted "Fixed #24607 -- Serialized natural keys in multi-table inheritance models."
This reverts commit 74a575eb7296fb04e1fc2bd4e3f68dee3c66ee0a as it causes unexpected migrations and doesn't seem to be the best solution. Backport of 0595bca221825c0c6bd572a32f3bf9eff7069328 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/serializers/models/__init__.py1
-rw-r--r--tests/serializers/models/multi_table.py22
-rw-r--r--tests/serializers/test_natural.py33
3 files changed, 1 insertions, 55 deletions
diff --git a/tests/serializers/models/__init__.py b/tests/serializers/models/__init__.py
index 9ac2381d17..a786b54be9 100644
--- a/tests/serializers/models/__init__.py
+++ b/tests/serializers/models/__init__.py
@@ -1,4 +1,3 @@
from .base import * # NOQA
from .data import * # NOQA
-from .multi_table import * # NOQA
from .natural import * # NOQA
diff --git a/tests/serializers/models/multi_table.py b/tests/serializers/models/multi_table.py
deleted file mode 100644
index 467ab50955..0000000000
--- a/tests/serializers/models/multi_table.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from django.db import models
-
-
-class ParentManager(models.Manager):
- def get_by_natural_key(self, parent_data):
- return self.get(parent_data=parent_data)
-
-
-class Parent(models.Model):
- parent_data = models.CharField(max_length=30, unique=True)
-
- objects = ParentManager()
-
- def natural_key(self):
- return (self.parent_data, )
-
-
-class Child(Parent):
- child_data = models.CharField(max_length=30, unique=True)
-
- class Meta:
- manager_inheritance_from_future = True
diff --git a/tests/serializers/test_natural.py b/tests/serializers/test_natural.py
index 1a4f4d5ea0..d8c4e9a7db 100644
--- a/tests/serializers/test_natural.py
+++ b/tests/serializers/test_natural.py
@@ -4,7 +4,7 @@ from django.core import serializers
from django.db import connection
from django.test import TestCase
-from .models import Child, FKDataNaturalKey, NaturalKeyAnchor
+from .models import FKDataNaturalKey, NaturalKeyAnchor
from .tests import register_tests
@@ -69,37 +69,6 @@ def natural_key_test(format, self):
self.assertIsNone(books[1].object.pk)
-def natural_pk_mti_test(format, self):
- """
- If serializing objects in a multi-table inheritance relationship using
- natural primary keys, the natural foreign key for the parent is output in
- the fields of the child so it's possible to relate the child to the parent
- when deserializing.
- """
- child_1 = Child.objects.create(parent_data='1', child_data='1')
- child_2 = Child.objects.create(parent_data='2', child_data='2')
-
- string_data = serializers.serialize(
- format,
- [child_1.parent_ptr, child_2.parent_ptr, child_2, child_1],
- use_natural_foreign_keys=True, use_natural_primary_keys=True,
- )
-
- child_1.delete()
- child_2.delete()
-
- for obj in serializers.deserialize(format, string_data):
- obj.save()
-
- children = Child.objects.all()
- self.assertEqual(len(children), 2)
- for child in children:
- # If it's possible to find the superclass from the subclass and it's
- # the correct superclass, it's working.
- self.assertEqual(child.child_data, child.parent_data)
-
-
# Dynamically register tests for each serializer
register_tests(NaturalKeySerializerTests, 'test_%s_natural_key_serializer', natural_key_serializer_test)
register_tests(NaturalKeySerializerTests, 'test_%s_serializer_natural_keys', natural_key_test)
-register_tests(NaturalKeySerializerTests, 'test_%s_serializer_natural_pks_mti', natural_pk_mti_test)