Skip to content

Commit 2de36f0

Browse files
committed
Fix the fix
1 parent 53c4fdb commit 2de36f0

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

feincms3_data/data.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -262,20 +262,19 @@ def pks(model):
262262
def _do_save(ds, *, pk_map, save_as_new_models, deferred_new_pks, deferred_m2m):
263263
# Map old PKs to new
264264
for f in ds.object._meta.get_fields():
265-
if (
265+
if f.many_to_many and f.related_model._meta.label_lower in save_as_new_models:
266+
# Always defer
267+
deferred_m2m.append(
268+
(ds.object, ds.m2m_data.copy(), f.name, pk_map[f.related_model])
269+
)
270+
271+
elif (
266272
f.concrete
267273
and f.related_model
268274
and f.related_model._meta.label_lower in save_as_new_models
269275
and (fk := getattr(ds.object, f.column)) is not None
270276
):
271-
if f.many_to_many:
272-
# Always defer
273-
deferred_m2m.append(
274-
(ds.object, ds.m2m_data.copy(), f.name, pk_map[f.related_model])
275-
)
276-
elif (
277-
new_pk := pk_map[f.related_model].get(fk, _sentinel)
278-
) is not _sentinel:
277+
if (new_pk := pk_map[f.related_model].get(fk, _sentinel)) is not _sentinel:
279278
setattr(ds.object, f.name, new_pk)
280279
else:
281280
# If foreign key isn't nullable we're toast.

0 commit comments

Comments
 (0)