mirror of
https://github.com/django/django.git
synced 2025-11-18 19:01:40 +00:00
Refs #35729 -- Refactor natural key retrieval in build_instance() to improve clarity and efficiency.
This commit is contained in:
parent
7665087bd9
commit
25c937e2e5
1 changed files with 3 additions and 2 deletions
|
|
@ -368,9 +368,10 @@ def build_instance(Model, data, db):
|
|||
natural_key = obj.natural_key()
|
||||
if natural_key:
|
||||
try:
|
||||
data[Model._meta.pk.attname] = Model._meta.pk.to_python(
|
||||
default_manager.db_manager(db).get_by_natural_key(*natural_key).pk
|
||||
existing = default_manager.db_manager(db).get_by_natural_key(
|
||||
*natural_key
|
||||
)
|
||||
data[Model._meta.pk.attname] = Model._meta.pk.to_python(existing.pk)
|
||||
except Model.DoesNotExist:
|
||||
pass
|
||||
return Model(**data)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue