From db9e6046f95dc7add2280ceb19a7e585366e3125 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 9 Jun 2026 17:57:29 +0200 Subject: 🐛 archaeological sites - searches: configure empty and non-empty searches (refs #6752) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0130_archaeologicalsite_set_not_null.py | 43 ++++++++++++++++++++++ archaeological_operations/models.py | 13 ++++--- 2 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 archaeological_operations/migrations/0130_archaeologicalsite_set_not_null.py diff --git a/archaeological_operations/migrations/0130_archaeologicalsite_set_not_null.py b/archaeological_operations/migrations/0130_archaeologicalsite_set_not_null.py new file mode 100644 index 000000000..7e73c8d6c --- /dev/null +++ b/archaeological_operations/migrations/0130_archaeologicalsite_set_not_null.py @@ -0,0 +1,43 @@ +# Generated by Django 4.2.19 on 2026-06-09 15:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_operations', '0129_data_migration_heritageinterest_heritageenvprotection_relsite'), + ] + + operations = [ + migrations.AlterField( + model_name='archaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, default='', max_length=100, verbose_name='AffMar number'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, default='', max_length=100, verbose_name='DRASSM number'), + ), + migrations.AlterField( + model_name='archaeologicalsite', + name='name', + field=models.CharField(blank=True, default='', max_length=200, verbose_name='Name'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='affmar_number', + field=models.CharField(blank=True, default='', max_length=100, verbose_name='AffMar number'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='drassm_number', + field=models.CharField(blank=True, default='', max_length=100, verbose_name='DRASSM number'), + ), + migrations.AlterField( + model_name='historicalarchaeologicalsite', + name='name', + field=models.CharField(blank=True, default='', max_length=200, verbose_name='Name'), + ), + ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index fc3a8a097..1c6ab4507 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -519,7 +519,8 @@ class ArchaeologicalSite( ), "current_states": SearchAltName( pgettext_lazy("key for text search", "current-status"), - "current_states__label__iexact" + "current_states__label__iexact", + related_name="current_states", ), "actors": SearchAltName( pgettext_lazy("key for text search", "actors"), @@ -573,7 +574,9 @@ class ArchaeologicalSite( pgettext_lazy("key for text search", "description"), "description__iexact" ), "discoverer": SearchAltName( - pgettext_lazy("key for text search", "discoverer"), "discoverer__cached_label__iexact", + pgettext_lazy("key for text search", "discoverer"), + "discoverer__cached_label__iexact", + related_name="discoverer", ), "public_description": SearchAltName( pgettext_lazy("key for text search", "public-description"), "public_description__iexact" @@ -714,7 +717,7 @@ class ArchaeologicalSite( reference = models.CharField(_("Reference"), max_length=200, unique=True) other_reference = models.TextField(_("Other reference"), blank=True, default="") - name = models.CharField(_("Name"), max_length=200, null=True, blank=True) + name = models.CharField(_("Name"), max_length=200, blank=True, default="") types = models.ManyToManyField("SiteType", verbose_name=_("Types"), blank=True) periods = models.ManyToManyField(Period, verbose_name=_("Periods"), blank=True) remains = models.ManyToManyField( @@ -787,10 +790,10 @@ class ArchaeologicalSite( sinking_date = models.DateField(_("Sinking date"), null=True, blank=True) discovery_area = models.TextField(_("Discovery area"), blank=True, default="") affmar_number = models.CharField( - _("AffMar number"), max_length=100, null=True, blank=True + _("AffMar number"), max_length=100, blank=True, default="" ) drassm_number = models.CharField( - _("DRASSM number"), max_length=100, null=True, blank=True + _("DRASSM number"), max_length=100, blank=True, default="" ) actors = models.ManyToManyField( -- cgit v1.2.3