41 lines
1.2 KiB
Python
41 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,
|
||
|
),
|
||
|
]
|