create migration according to howto from Django homepage

This commit is contained in:
2022-12-21 12:04:39 +00:00
parent 077f70bf9f
commit e8a772ea7f
3 changed files with 147 additions and 80 deletions

View File

@@ -1,104 +1,103 @@
# Generated by Django 4.0.6 on 2022-07-30 10:47 # Generated by Django 4.1.2 on 2022-12-21 11:42
import datetime import datetime
import logging
import fet2020.utils
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.db.models.expressions import fet2020.utils
from django.utils.text import slugify
def forwards_func(apps, schema_editor):
Tasks = apps.get_model("tasks", "Task")
for elem in Tasks.objects.all():
elem.slug_id = fet2020.utils.create_random_id()
elem.slug = elem.slug_id + "-" + slugify(elem.title)
elem.save(update_fields=["slug_id", "slug"])
TaskLists = apps.get_model("tasks", "TaskList")
for elem in TaskLists.objects.all():
elem.shortterm = slugify(elem.name)
elem.slug = slugify(elem.shortterm)
elem.save(update_fields=["shortterm", "slug"])
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('tasks', '0001_initial'), ("tasks", "0001_initial"),
] ]
operations = [ operations = [
migrations.AlterModelOptions( migrations.AlterModelOptions(
name='task', name="task",
options={'ordering': ('task_list', django.db.models.expressions.OrderBy(django.db.models.expressions.F('due_date'), descending=True, nulls_first=True)), 'verbose_name': 'Aufgabe', 'verbose_name_plural': 'Aufgaben'},
),
# remove unique=True to set value, and then set option unique=True
migrations.AddField(
model_name='task',
name='slug',
field=models.SlugField(blank=True),
),
# remove unique=True to set value, and then set option unique=True
migrations.AddField(
model_name='task',
name='slug_id',
field=models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8),
),
# remove unique=True to set value, and then set option unique=True
migrations.AddField(
model_name='tasklist',
name='shortterm',
field=models.CharField(blank=True, max_length=128),
),
migrations.AlterField(
model_name='task',
name='title',
field=models.CharField(max_length=128, verbose_name='Titel'),
),
migrations.AlterField(
model_name='tasklist',
name='name',
field=models.CharField(max_length=128),
),
migrations.CreateModel(
name='Document',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=128, verbose_name='Titel')),
('slug_id', models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8, unique=True)),
('etherpad_key', models.CharField(blank=True, max_length=50)),
('date', models.DateField(default=datetime.date.today, verbose_name='Datum')),
('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tasks.task')),
],
options={ options={
'verbose_name': 'Dokument', "ordering": (
'verbose_name_plural': 'Dokumente', "task_list",
models.OrderBy(
models.F("due_date"), descending=True, nulls_first=True
),
),
"verbose_name": "Aufgabe",
"verbose_name_plural": "Aufgaben",
}, },
), ),
migrations.RunPython(forwards_func), migrations.AddField(
# unique=True after setting value model_name="task",
migrations.AlterField( name="slug",
model_name='task', field=models.SlugField(blank=True, null=True),
name='slug', ),
field=models.SlugField(blank=True, unique=True), migrations.AddField(
model_name="task",
name="slug_id",
field=models.CharField(
default=fet2020.utils.create_random_id,
editable=False,
max_length=8,
null=True,
),
),
migrations.AddField(
model_name="tasklist",
name="shortterm",
field=models.CharField(blank=True, max_length=128, null=True),
), ),
migrations.AlterField( migrations.AlterField(
model_name='task', model_name="task",
name='slug_id', name="title",
field=models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8, unique=True), field=models.CharField(max_length=128, verbose_name="Titel"),
), ),
migrations.AlterField( migrations.AlterField(
model_name='tasklist', model_name="tasklist",
name='shortterm', name="name",
field=models.CharField(blank=True, max_length=128, unique=True), field=models.CharField(max_length=128),
), ),
migrations.AlterField( migrations.AlterField(
model_name='tasklist', model_name="tasklist",
name='slug', name="slug",
field=models.SlugField(blank=True, unique=True), field=models.SlugField(blank=True, null=True),
),
migrations.CreateModel(
name="Document",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("title", models.CharField(max_length=128, verbose_name="Titel")),
(
"slug_id",
models.CharField(
default=fet2020.utils.create_random_id,
editable=False,
max_length=8,
unique=True,
),
),
("etherpad_key", models.CharField(blank=True, max_length=50)),
(
"date",
models.DateField(default=datetime.date.today, verbose_name="Datum"),
),
(
"task",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="tasks.task"
),
),
],
options={
"verbose_name": "Dokument",
"verbose_name_plural": "Dokumente",
},
), ),
] ]

View File

@@ -0,0 +1,29 @@
# Generated by Django 4.1.2 on 2022-12-21 11:43
from django.db import migrations
import fet2020.utils
def forwards_func(apps, schema_editor):
Tasks = apps.get_model("tasks", "Task")
for elem in Tasks.objects.all():
elem.slug_id = fet2020.utils.create_random_id()
elem.slug = elem.slug_id + "-" + slugify(elem.title)
elem.save(update_fields=["slug_id", "slug"])
TaskLists = apps.get_model("tasks", "TaskList")
for elem in TaskLists.objects.all():
elem.shortterm = slugify(elem.name)
elem.slug = slugify(elem.shortterm)
elem.save(update_fields=["shortterm", "slug"])
class Migration(migrations.Migration):
dependencies = [
("tasks", "0002_alter_task_options_task_slug_task_slug_id_and_more"),
]
operations = [
migrations.RunPython(forwards_func, reverse_code=migrations.RunPython.noop),
]

View File

@@ -0,0 +1,39 @@
# Generated by Django 4.1.2 on 2022-12-21 11:43
from django.db import migrations, models
import fet2020.utils
class Migration(migrations.Migration):
dependencies = [
("tasks", "0003_populate_unique_values"),
]
operations = [
migrations.AlterField(
model_name="task",
name="slug",
field=models.SlugField(blank=True, unique=True),
),
migrations.AlterField(
model_name="task",
name="slug_id",
field=models.CharField(
default=fet2020.utils.create_random_id,
editable=False,
max_length=8,
unique=True,
),
),
migrations.AlterField(
model_name="tasklist",
name="shortterm",
field=models.CharField(blank=True, max_length=128, unique=True),
),
migrations.AlterField(
model_name="tasklist",
name="slug",
field=models.SlugField(blank=True, unique=True),
),
]