diff --git a/isic/ingest/migrations/0023_metadatafile_blob_not_empty.py b/isic/ingest/migrations/0023_metadatafile_blob_not_empty.py new file mode 100644 index 00000000..37818a7e --- /dev/null +++ b/isic/ingest/migrations/0023_metadatafile_blob_not_empty.py @@ -0,0 +1,20 @@ +# Generated by Django 5.1.8 on 2025-05-15 17:29 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("ingest", "0022_accession_ingest_acce_image_m_aee960_idx"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddConstraint( + model_name="metadatafile", + constraint=models.CheckConstraint( + condition=models.Q(("blob", ""), _negated=True), name="blob_not_empty" + ), + ), + ] diff --git a/isic/ingest/models/metadata_file.py b/isic/ingest/models/metadata_file.py index a4fb51db..44adccbe 100644 --- a/isic/ingest/models/metadata_file.py +++ b/isic/ingest/models/metadata_file.py @@ -23,6 +23,9 @@ class MetadataFile(CreationSortedTimeStampedModel): validation_errors = models.TextField(blank=True) validation_completed = models.BooleanField(default=False) + class Meta(CreationSortedTimeStampedModel.Meta): + constraints = [models.CheckConstraint(check=~models.Q(blob=""), name="blob_not_empty")] + def __str__(self) -> str: return self.blob_name