Refs #35729 -- Refactor natural key retrieval in build_instance() to improve clarity and efficiency.

This commit is contained in:
rimi0108 2025-11-14 19:51:03 +09:00
parent 7665087bd9
commit 25c937e2e5

View file

@ -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)