fixed unit merge with duplicate conversion

This commit is contained in:
vabene1111
2025-10-05 13:10:38 +02:00
parent 81983c5ae2
commit 51107c64ee

View File

@@ -372,11 +372,16 @@ class MergeMixin(ViewSetMixin):
isTree = False
try:
# TODO these checks could be improved to merge existing properties and conversion in a smart way. For now it will just loose them to prevent duplicates
if isinstance(source, Food):
source.properties.all().delete()
source.properties.clear()
UnitConversion.objects.filter(food=source).delete()
if isinstance(source, Unit):
UnitConversion.objects.filter(base_unit=source).delete()
UnitConversion.objects.filter(converted_unit=source).delete()
for link in [field for field in source._meta.get_fields() if issubclass(type(field), ForeignObjectRel)]:
linkManager = getattr(source, link.get_accessor_name())
related = linkManager.all()