Corp/backend/finance/migrations/0016_payrollcellcommentthread.py
2026-09-07 19:43:48 +03:00

77 lines
2.9 KiB
Python

# Generated by Django 5.2.4 on 2026-08-04 10:46
import django.core.validators
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("finance", "0015_alter_payrollperiod_created_by"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="PayrollCellCommentThread",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"column_id",
models.CharField(
max_length=80,
validators=[
django.core.validators.RegexValidator(
message="Некорректный идентификатор колонки расчётной таблицы.",
regex="^[a-z][a-z0-9_]*(?::[A-Z][A-Z0-9_.-]{0,63})?$",
)
],
verbose_name="Колонка",
),
),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="Создан"),
),
(
"period",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="cell_comment_threads",
to="finance.payrollperiod",
verbose_name="Расчётный период",
),
),
(
"subject_employee",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="payroll_cell_comment_threads",
to=settings.AUTH_USER_MODEL,
verbose_name="Сотрудник в строке",
),
),
],
options={
"verbose_name": "Обсуждение ячейки расчёта",
"verbose_name_plural": "Обсуждения ячеек расчёта",
"ordering": ["period_id", "subject_employee_id", "column_id"],
"constraints": [
models.UniqueConstraint(
fields=("period", "subject_employee", "column_id"),
name="pay_cell_comment_thread_unique",
)
],
},
),
]