From 8d899e4d9f81a9eaf914fd1f7f44483973bfa820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniele=20Vigan=C3=B2?= Date: Fri, 9 Jan 2026 13:08:47 +0100 Subject: [PATCH] Minor improvements --- .../0026_alter_manufacturer_name_and_more.py | 24 +++++++++++++++++++ ram/metadata/models.py | 8 ++++++- ram/roster/admin.py | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 ram/metadata/migrations/0026_alter_manufacturer_name_and_more.py diff --git a/ram/metadata/migrations/0026_alter_manufacturer_name_and_more.py b/ram/metadata/migrations/0026_alter_manufacturer_name_and_more.py new file mode 100644 index 0000000..8e575eb --- /dev/null +++ b/ram/metadata/migrations/0026_alter_manufacturer_name_and_more.py @@ -0,0 +1,24 @@ +# Generated by Django 6.0 on 2026-01-09 12:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("metadata", "0025_alter_company_options_alter_manufacturer_options_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="manufacturer", + name="name", + field=models.CharField(max_length=128), + ), + migrations.AddConstraint( + model_name="manufacturer", + constraint=models.UniqueConstraint( + fields=("name", "category"), name="unique_name_category" + ), + ), + ] diff --git a/ram/metadata/models.py b/ram/metadata/models.py index 4ef63b5..170b4ad 100644 --- a/ram/metadata/models.py +++ b/ram/metadata/models.py @@ -30,7 +30,7 @@ class Property(SimpleBaseModel): class Manufacturer(SimpleBaseModel): - name = models.CharField(max_length=128, unique=True) + name = models.CharField(max_length=128) slug = models.CharField(max_length=128, unique=True, editable=False) category = models.CharField( max_length=64, choices=settings.MANUFACTURER_TYPES @@ -46,6 +46,12 @@ class Manufacturer(SimpleBaseModel): class Meta: ordering = ["category", "slug"] + constraints = [ + models.UniqueConstraint( + fields=["name", "category"], + name="unique_name_category" + ) + ] def __str__(self): return self.name diff --git a/ram/roster/admin.py b/ram/roster/admin.py index 1b2ca6a..896c819 100644 --- a/ram/roster/admin.py +++ b/ram/roster/admin.py @@ -35,7 +35,7 @@ class RollingClassPropertyInline(admin.TabularInline): class RollingClass(admin.ModelAdmin): inlines = (RollingClassPropertyInline,) autocomplete_fields = ("manufacturer",) - list_display = ("__str__", "type", "company", "country_flag") + list_display = ("__str__", "identifier", "type", "company", "country_flag") list_filter = ("company", "type__category", "type") search_fields = ( "identifier",