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 logging
import fet2020.utils
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.expressions
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"])
import fet2020.utils
class Migration(migrations.Migration):
dependencies = [
('tasks', '0001_initial'),
("tasks", "0001_initial"),
]
operations = [
migrations.AlterModelOptions(
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')),
],
name="task",
options={
'verbose_name': 'Dokument',
'verbose_name_plural': 'Dokumente',
"ordering": (
"task_list",
models.OrderBy(
models.F("due_date"), descending=True, nulls_first=True
),
),
"verbose_name": "Aufgabe",
"verbose_name_plural": "Aufgaben",
},
),
migrations.RunPython(forwards_func),
# unique=True after setting value
migrations.AlterField(
model_name='task',
name='slug',
field=models.SlugField(blank=True, unique=True),
migrations.AddField(
model_name="task",
name="slug",
field=models.SlugField(blank=True, null=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(
model_name='task',
name='slug_id',
field=models.CharField(default=fet2020.utils.create_random_id, editable=False, max_length=8, unique=True),
model_name="task",
name="title",
field=models.CharField(max_length=128, verbose_name="Titel"),
),
migrations.AlterField(
model_name='tasklist',
name='shortterm',
field=models.CharField(blank=True, max_length=128, unique=True),
model_name="tasklist",
name="name",
field=models.CharField(max_length=128),
),
migrations.AlterField(
model_name='tasklist',
name='slug',
field=models.SlugField(blank=True, unique=True),
model_name="tasklist",
name="slug",
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),
),
]