diff --git a/src/backend/InvenTree/part/migrations/0144_auto_20251203_1045.py b/src/backend/InvenTree/part/migrations/0144_auto_20251203_1045.py index f7f13bb0a7..f1ecb8ba8d 100644 --- a/src/backend/InvenTree/part/migrations/0144_auto_20251203_1045.py +++ b/src/backend/InvenTree/part/migrations/0144_auto_20251203_1045.py @@ -20,22 +20,32 @@ def update_parameter(apps, schema_editor): model="partparameter", ) - parmeters_to_update = [] + parameters_to_update = [] + N = PartParameter.objects.count() + + # Update any existing PartParameter object, setting the new fields for parameter in PartParameter.objects.all(): parameter.model_type = part_content_type parameter.model_id = parameter.part_id - parmeters_to_update.append(parameter) + parameters_to_update.append(parameter) - if len(parmeters_to_update) > 0: + if len(parameters_to_update) > 0: - print(f"Updating {len(parmeters_to_update)} PartParameter records.") + print(f"Updating {len(parameters_to_update)} PartParameter records.") PartParameter.objects.bulk_update( - parmeters_to_update, + parameters_to_update, fields=["model_type", "model_id"], ) + # Ensure that the number of updated records matches the total number of records + assert PartParameter.objects.count() == N + + # Ensure that no PartParameter records have null model_type or model_id + assert PartParameter.objects.filter(model_type=None).count() == 0 + assert PartParameter.objects.filter(model_id=None).count() == 0 + def reverse_update_parameter(apps, schema_editor): """Reverse data migration to restore existing PartParameter records. @@ -149,9 +159,4 @@ class Migration(migrations.Migration): name="partparameter", unique_together={('model_type', 'model_id', 'template')}, ), - # Remove the obsolete "part" field from the PartParameter model - migrations.RemoveField( - model_name="partparameter", - name="part", - ), ] diff --git a/src/backend/InvenTree/part/migrations/0145_auto_20251203_1238.py b/src/backend/InvenTree/part/migrations/0145_auto_20251203_1238.py index 3b40ad5daf..0924f9065e 100644 --- a/src/backend/InvenTree/part/migrations/0145_auto_20251203_1238.py +++ b/src/backend/InvenTree/part/migrations/0145_auto_20251203_1238.py @@ -58,6 +58,11 @@ class Migration(migrations.Migration): ] operations = [ + # Remove the obsolete "part" field from the PartParameter model + migrations.RemoveField( + model_name="partparameter", + name="part", + ), # Add a new "template" field to the PartCategoryParameterTemplate model migrations.AddField( model_name="partcategoryparametertemplate",