Fix BuildItem with empty BuildLine reference (#7178)

This commit is contained in:
Oliver 2024-05-08 12:19:53 +10:00 committed by GitHub
parent e24c4c56fa
commit fc9c75e4ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 46 additions and 1 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 4.2.12 on 2024-05-08 01:38
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('build', '0048_build_project_code'),
]
operations = [
migrations.AlterField(
model_name='builditem',
name='build_line',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='allocations', to='build.buildline'),
),
]

View File

@ -0,0 +1,26 @@
# Generated by Django 4.2.12 on 2024-05-08 01:38
from django.db import migrations
def forward(apps, schema_editor):
"""Find and delete any BuildItem instances which have a null BuildLine field."""
BuildItem = apps.get_model('build', 'BuildItem')
items = BuildItem.objects.filter(build_line=None)
if items.count() > 0:
print(f"Deleting {items.count()} BuildItem objects with null BuildLine field")
items.delete()
class Migration(migrations.Migration):
dependencies = [
('build', '0049_alter_builditem_build_line'),
]
operations = [
migrations.RunPython(forward, reverse_code=migrations.RunPython.noop),
]

View File

@ -1569,7 +1569,7 @@ class BuildItem(InvenTree.models.InvenTreeMetadataModel):
build_line = models.ForeignKey(
BuildLine,
on_delete=models.SET_NULL, null=True,
on_delete=models.CASCADE, null=True,
related_name='allocations',
)