This repository has been archived on 2023-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
python-blog/src/articles/migrations/0030_tag_slug.py
2021-12-31 12:08:35 +01:00

42 lines
1.2 KiB
Python

# Generated by Django 3.1.5 on 2021-03-04 17:17
from django.apps.registry import Apps
from django.db import migrations, models
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
from django.utils.text import slugify
def forwards(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) -> None:
Tag = apps.get_model("articles", "Tag")
db_alias = schema_editor.connection.alias
tags = Tag.objects.using(db_alias).all()
for tag in tags:
tag.slug = slugify(tag.name)
Tag.objects.bulk_update(tags, ["slug"])
def backwards(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) -> None:
Tag = apps.get_model("articles", "Tag")
db_alias = schema_editor.connection.alias
Tag.objects.using(db_alias).update(slug="")
class Migration(migrations.Migration):
dependencies = [
("articles", "0029_auto_20210303_1711"),
]
operations = [
migrations.AddField(
model_name="tag",
name="slug",
field=models.CharField(blank=True, max_length=255),
),
migrations.RunPython(forwards, backwards),
migrations.AlterField(
model_name="tag",
name="slug",
field=models.CharField(max_length=255, unique=True),
),
]