create migration according to howto from Django homepage
This commit is contained in:
@@ -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",
|
||||||
|
},
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
29
fet2020/tasks/migrations/0003_populate_unique_values.py
Normal file
29
fet2020/tasks/migrations/0003_populate_unique_values.py
Normal 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),
|
||||||
|
]
|
||||||
39
fet2020/tasks/migrations/0004_set_fields_unique.py
Normal file
39
fet2020/tasks/migrations/0004_set_fields_unique.py
Normal 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),
|
||||||
|
),
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user