diff --git a/InvenTree/build/migrations/0010_auto_20190505_2233.py b/InvenTree/build/migrations/0010_auto_20190505_2233.py new file mode 100644 index 0000000000..5be6c393c9 --- /dev/null +++ b/InvenTree/build/migrations/0010_auto_20190505_2233.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2 on 2019-05-05 12:33 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0009_build_completed_by'), + ] + + operations = [ + migrations.AlterField( + model_name='build', + name='part', + field=models.ForeignKey(limit_choices_to={'active': True, 'buildable': True}, on_delete=django.db.models.deletion.CASCADE, related_name='builds', to='part.Part'), + ), + ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 7175a18650..e81ae6a45d 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -84,7 +84,10 @@ class Build(models.Model): part = models.ForeignKey('part.Part', on_delete=models.CASCADE, related_name='builds', - limit_choices_to={'buildable': True}, + limit_choices_to={ + 'buildable': True, + 'active': True + }, ) title = models.CharField( diff --git a/InvenTree/part/migrations/0018_auto_20190505_2231.py b/InvenTree/part/migrations/0018_auto_20190505_2231.py new file mode 100644 index 0000000000..32aa1e3a1b --- /dev/null +++ b/InvenTree/part/migrations/0018_auto_20190505_2231.py @@ -0,0 +1,24 @@ +# Generated by Django 2.2 on 2019-05-05 12:31 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0017_auto_20190505_0848'), + ] + + operations = [ + migrations.AlterField( + model_name='bomitem', + name='part', + field=models.ForeignKey(limit_choices_to={'active': True, 'buildable': True}, on_delete=django.db.models.deletion.CASCADE, related_name='bom_items', to='part.Part'), + ), + migrations.AlterField( + model_name='bomitem', + name='sub_part', + field=models.ForeignKey(limit_choices_to={'active': True, 'consumable': True}, on_delete=django.db.models.deletion.CASCADE, related_name='used_in', to='part.Part'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index e5497faa4c..2a3c31552e 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -464,12 +464,18 @@ class BomItem(models.Model): # A link to the parent part # Each part will get a reverse lookup field 'bom_items' part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='bom_items', - limit_choices_to={'buildable': True}) + limit_choices_to={ + 'buildable': True, + 'active': True, + }) # A link to the child item (sub-part) # Each part will get a reverse lookup field 'used_in' sub_part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='used_in', - limit_choices_to={'consumable': True}) + limit_choices_to={ + 'consumable': True, + 'active': True + }) # Quantity required quantity = models.PositiveIntegerField(default=1, validators=[MinValueValidator(0)])