website/hub/services/migrations/0004_cloudprovider_slug.py
2025-01-27 15:54:37 +01:00

40 lines
1.2 KiB
Python

# Generated by Django 5.1.5 on 2025-01-27 14:49
from django.db import migrations, models
from django.utils.text import slugify
def generate_provider_slugs(apps, schema_editor):
CloudProvider = apps.get_model("services", "CloudProvider")
for provider in CloudProvider.objects.all():
provider.slug = slugify(provider.name)
counter = 1
while CloudProvider.objects.filter(slug=provider.slug).exists():
provider.slug = f"{slugify(provider.name)}-{counter}"
counter += 1
provider.save()
class Migration(migrations.Migration):
dependencies = [
("services", "0003_category_service_categories"),
]
operations = [
migrations.AddField(
model_name="cloudprovider",
name="slug",
field=models.SlugField(unique=True, null=True),
preserve_default=False,
),
migrations.RunPython(
generate_provider_slugs, reverse_code=migrations.RunPython.noop
),
migrations.AlterField(
model_name="cloudprovider",
name="slug",
field=models.SlugField(unique=True),
preserve_default=False,
),
]