From 2fe15778cb638eb420e5f3312ca24e33bfc601c5 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 14 May 2024 01:01:20 +0930 Subject: [PATCH] fix(fields): correct autoslug field so it works !1 --- app/access/fields.py | 9 ++++++--- app/access/migrations/0001_initial.py | 4 ++-- app/access/models.py | 5 +---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/access/fields.py b/app/access/fields.py index c02f00b5..1ef8ef21 100644 --- a/app/access/fields.py +++ b/app/access/fields.py @@ -47,10 +47,13 @@ class AutoSlugField(models.SlugField): def pre_save(self, model_instance, add): - value = self.name.lower().replace(' ', '_') + if not model_instance.slug or model_instance.slug == '_': + value = model_instance.name.lower().replace(' ', '_') - setattr(model_instance, self.attname, value) + setattr(model_instance, self.attname, value) - return value + return value + + return model_instance.slug diff --git a/app/access/migrations/0001_initial.py b/app/access/migrations/0001_initial.py index ce0b23bd..f0c6e39c 100644 --- a/app/access/migrations/0001_initial.py +++ b/app/access/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.0.4 on 2024-05-12 09:50 +# Generated by Django 5.0.4 on 2024-05-13 15:30 import access.fields import django.contrib.auth.models @@ -23,7 +23,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(primary_key=True, serialize=False, unique=True)), ('name', models.CharField(max_length=50, unique=True)), - ('slug', models.SlugField(default='_')), + ('slug', access.fields.AutoSlugField()), ('created', access.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False)), ('modified', access.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False)), ], diff --git a/app/access/models.py b/app/access/models.py index 9b3ad4ed..3cb84b97 100644 --- a/app/access/models.py +++ b/app/access/models.py @@ -33,10 +33,7 @@ class Organization(models.Model): unique = True, ) - slug = models.SlugField( - max_length=50, - default='_', - ) + slug = AutoSlugField() created = AutoCreatedField()