Corp/backend/tasks/migrations/0002_tasklinkedobject.py
2026-07-06 13:47:03 +03:00

108 lines
3.6 KiB
Python

# Generated by Codex on 2026-07-06
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("contenttypes", "0002_remove_content_type_name"),
("tasks", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="TaskLinkedObject",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"kind",
models.CharField(
choices=[("message", "Сообщение")],
max_length=32,
verbose_name="Тип связи",
),
),
("object_id", models.PositiveBigIntegerField(verbose_name="ID объекта")),
(
"created_at",
models.DateTimeField(
auto_now_add=True,
verbose_name="Создано",
),
),
(
"metadata",
models.JSONField(
blank=True,
default=dict,
verbose_name="Метаданные",
),
),
(
"content_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="contenttypes.contenttype",
verbose_name="Тип объекта",
),
),
(
"created_by",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="created_task_links",
to=settings.AUTH_USER_MODEL,
verbose_name="Связал",
),
),
(
"task",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="linked_objects",
to="tasks.task",
verbose_name="Задача",
),
),
],
options={
"verbose_name": "Связанный объект задачи",
"verbose_name_plural": "Связанные объекты задач",
"ordering": ["-created_at", "-id"],
},
),
migrations.AddConstraint(
model_name="tasklinkedobject",
constraint=models.UniqueConstraint(
fields=("task", "content_type", "object_id"),
name="uniq_task_linked_object",
),
),
migrations.AddIndex(
model_name="tasklinkedobject",
index=models.Index(
fields=["task", "kind"],
name="tasks_taskl_task_id_21eadf_idx",
),
),
migrations.AddIndex(
model_name="tasklinkedobject",
index=models.Index(
fields=["content_type", "object_id"],
name="tasks_taskl_content_362991_idx",
),
),
]