Skip to content

Commit

Permalink
fix 🐛 field names can contains underscore as well
Browse files Browse the repository at this point in the history
  • Loading branch information
samar-hassan committed Nov 1, 2024
1 parent f48636b commit cf8d958
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions oscar_odin/mappings/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,9 +274,9 @@ def bulk_update_or_create_instances(self, instances):
self.Model.objects.bulk_update(validated_instances_to_update, fields=fields)

def bulk_update_or_create_one_to_many(self):
for relation, product, instances in self.get_all_o2m_instances:
for relation, parent, instances in self.get_all_o2m_instances:
for instance in instances:
setattr(instance, relation.field.name, product)
setattr(instance, relation.field.name, parent)

instances_to_create, instances_to_update, identities = self.get_o2m_relations

Expand Down Expand Up @@ -315,14 +315,12 @@ def bulk_update_or_create_one_to_many(self):
if fields is not None:
conditions = Q()
identifiers = self.identifier_mapping[relation.related_model]
for key in keys:
for key in set(keys):
if isinstance(key, (list, tuple)):
conditions |= Q(**dict(list(zip(identifiers, key))))
else:
conditions |= Q(**{f"{identifiers[0]}": key})
field_name = relation.remote_field.attname.replace(
"_", "__"
).replace("id", instance_identifier)
field_name = f"{relation.remote_field.name}__{instance_identifier}"
# Delete all related one_to_many instances where product is in the
# given list of resources and excluding any instances present in
# those resources
Expand Down

0 comments on commit cf8d958

Please sign in to comment.