From 1312041d8b973e435fea2a2d24747565ed54a80e Mon Sep 17 00:00:00 2001 From: rw-bsi Date: Mon, 11 Nov 2024 22:41:54 +0000 Subject: [PATCH] Enforece unique constraint --- ..._modelinstance_modelid_stepfileid_ifctype.py | 17 +++++++++++++++++ models.py | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 migrations/0002_modelinstance_modelid_stepfileid_ifctype.py diff --git a/migrations/0002_modelinstance_modelid_stepfileid_ifctype.py b/migrations/0002_modelinstance_modelid_stepfileid_ifctype.py new file mode 100644 index 0000000..deaa659 --- /dev/null +++ b/migrations/0002_modelinstance_modelid_stepfileid_ifctype.py @@ -0,0 +1,17 @@ +# Generated by Django 5.1.3 on 2024-11-11 22:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ifc_validation_models', '0001_initial'), + ] + + operations = [ + migrations.AddConstraint( + model_name='modelinstance', + constraint=models.UniqueConstraint(fields=('model_id', 'stepfile_id', 'ifc_type'), name='modelid_stepfileid_ifctype'), + ), + ] diff --git a/models.py b/models.py index 7af8e00..d50b600 100644 --- a/models.py +++ b/models.py @@ -604,6 +604,10 @@ class Meta: verbose_name = "Model Instance" verbose_name_plural = "Model Instances" + constraints = [ + models.UniqueConstraint(fields=['model_id', 'stepfile_id', 'ifc_type'], name='modelid_stepfileid_ifctype') + ] + def __str__(self): return f'#{self.id} - {self.ifc_type} - {self.model.file_name}'