From 74a575eb7296fb04e1fc2bd4e3f68dee3c66ee0a Mon Sep 17 00:00:00 2001 From: João Sampaio Date: Sat, 8 Oct 2016 15:09:49 -0300 Subject: Fixed #24607 -- Serialized natural keys in multi-table inheritance models. --- tests/serializers/models/__init__.py | 1 + tests/serializers/models/multi_table.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/serializers/models/multi_table.py (limited to 'tests/serializers/models') diff --git a/tests/serializers/models/__init__.py b/tests/serializers/models/__init__.py index a786b54be9..9ac2381d17 100644 --- a/tests/serializers/models/__init__.py +++ b/tests/serializers/models/__init__.py @@ -1,3 +1,4 @@ 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 new file mode 100644 index 0000000000..467ab50955 --- /dev/null +++ b/tests/serializers/models/multi_table.py @@ -0,0 +1,22 @@ +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 -- cgit v1.3