summaryrefslogtreecommitdiff
path: root/tests/serializers/models
diff options
context:
space:
mode:
Diffstat (limited to 'tests/serializers/models')
-rw-r--r--tests/serializers/models/natural.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/serializers/models/natural.py b/tests/serializers/models/natural.py
index b50956692e..cd24b67f0a 100644
--- a/tests/serializers/models/natural.py
+++ b/tests/serializers/models/natural.py
@@ -19,3 +19,21 @@ class NaturalKeyAnchor(models.Model):
class FKDataNaturalKey(models.Model):
data = models.ForeignKey(NaturalKeyAnchor, models.SET_NULL, null=True)
+
+
+class NaturalKeyThing(models.Model):
+ key = models.CharField(max_length=100)
+ other_thing = models.ForeignKey('NaturalKeyThing', on_delete=models.CASCADE, null=True)
+ other_things = models.ManyToManyField('NaturalKeyThing', related_name='thing_m2m_set')
+
+ class Manager(models.Manager):
+ def get_by_natural_key(self, key):
+ return self.get(key=key)
+
+ objects = Manager()
+
+ def natural_key(self):
+ return (self.key,)
+
+ def __str__(self):
+ return self.key