mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #33582 -- Fixed deserializing natural keys with foreing key dependencies in a multiple database setup.
This commit is contained in:
committed by
Mariusz Felisiak
parent
ed6db53542
commit
4b8e4f5060
@@ -147,6 +147,26 @@ class Book(models.Model):
|
||||
)
|
||||
|
||||
|
||||
class NaturalKeyWithFKDependencyManager(models.Manager):
|
||||
def get_by_natural_key(self, name, author):
|
||||
return self.get(name=name, author__name=author)
|
||||
|
||||
|
||||
class NaturalKeyWithFKDependency(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
author = models.ForeignKey(Person, models.CASCADE)
|
||||
|
||||
objects = NaturalKeyWithFKDependencyManager()
|
||||
|
||||
class Meta:
|
||||
unique_together = ["name", "author"]
|
||||
|
||||
def natural_key(self):
|
||||
return (self.name,) + self.author.natural_key()
|
||||
|
||||
natural_key.dependencies = ["fixtures_regress.Person"]
|
||||
|
||||
|
||||
class NKManager(models.Manager):
|
||||
def get_by_natural_key(self, data):
|
||||
return self.get(data=data)
|
||||
|
||||
Reference in New Issue
Block a user