Skip to content
Snippets Groups Projects
Commit 64c1b1e6 authored by Benjamin Hättasch's avatar Benjamin Hättasch
Browse files

Introduce slug for AKTypes

parent 1ffe196f
No related branches found
No related tags found
No related merge requests found
Pipeline #289148 passed
# Generated by Django 5.1.6 on 2025-05-11 15:21
from django.db import migrations, models
def create_slugs(apps, schema_editor):
"""
Automatically generate slugs from existing type names
"""
AKType = apps.get_model("AKModel", "AKType")
for ak_type in AKType.objects.all():
slug = ak_type.name.lower().split(" ")[0]
ak_type.slug = slug[:30] if len(slug) > 30 else slug
ak_type.save()
class Migration(migrations.Migration):
dependencies = [
('AKModel', '0067_eventparticipant_requirements_and_more'),
]
operations = [
migrations.AddField(
model_name='aktype',
name='slug',
field=models.SlugField(max_length=30, null=True, verbose_name='Slug'),
),
migrations.RunPython(create_slugs, migrations.RunPython.noop),
migrations.AlterUniqueTogether(
name='aktype',
unique_together={('event', 'name')},
),
migrations.AlterField(
model_name='aktype',
name='slug',
field=models.SlugField(max_length=30, verbose_name='Slug'),
),
migrations.AlterUniqueTogether(
name='aktype',
unique_together={('event', 'name'), ('event', 'slug')},
),
]
...@@ -859,7 +859,7 @@ class AKType(models.Model): ...@@ -859,7 +859,7 @@ class AKType(models.Model):
or to which group of people it is addressed. Types are specified per event and are an optional feature. or to which group of people it is addressed. Types are specified per event and are an optional feature.
""" """
name = models.CharField(max_length=128, verbose_name=_('Name'), help_text=_('Name describing the type')) name = models.CharField(max_length=128, verbose_name=_('Name'), help_text=_('Name describing the type'))
slug = models.SlugField(max_length=30, blank=False, verbose_name=_('Slug'),)
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'), event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event')) help_text=_('Associated event'))
...@@ -867,7 +867,7 @@ class AKType(models.Model): ...@@ -867,7 +867,7 @@ class AKType(models.Model):
verbose_name = _('AK Type') verbose_name = _('AK Type')
verbose_name_plural = _('AK Types') verbose_name_plural = _('AK Types')
ordering = ['name'] ordering = ['name']
unique_together = ['event', 'name'] unique_together = [['event', 'name'], ['event', 'slug']]
def __str__(self): def __str__(self):
return self.name return self.name
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment