diff options
| author | Peter Inglesby <peter.inglesby@gmail.com> | 2018-07-13 22:54:47 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-07-13 17:54:47 -0400 |
| commit | 312eb5cb11d09c0c41b2740e2e9aef838d60c8b5 (patch) | |
| tree | 00dec6ddb620204930bc2c870e1bb73c5bb87973 /tests/serializers/models | |
| parent | 8f75d21a2e6d255848ae441d858c6ea819e3d100 (diff) | |
Fixed #26291 -- Allowed loaddata to handle forward references in natural_key fixtures.
Diffstat (limited to 'tests/serializers/models')
| -rw-r--r-- | tests/serializers/models/natural.py | 18 |
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 |
