# Generated by Django 5.2.4 on 2025-11-20 12:01 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ("communications", "0009_message_deleted_at_message_deleted_by_and_more"), ] operations = [ migrations.CreateModel( name="MessageAttachment", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "file", models.FileField( upload_to="chat_attachments/%Y/%m/%d/", verbose_name="Файл" ), ), ( "file_type", models.CharField( choices=[ ("image", "Изображение"), ("video", "Видео"), ("audio", "Аудио"), ("file", "Файл"), ], max_length=10, verbose_name="Тип файла", ), ), ( "file_name", models.CharField(max_length=255, verbose_name="Название файла"), ), ( "file_size", models.BigIntegerField(verbose_name="Размер файла (байты)"), ), ( "mime_type", models.CharField( blank=True, max_length=100, verbose_name="MIME тип" ), ), ( "uploaded_at", models.DateTimeField( auto_now_add=True, verbose_name="Время загрузки" ), ), ( "thumbnail", models.ImageField( blank=True, help_text="Для изображений и видео", null=True, upload_to="chat_attachments/thumbnails/%Y/%m/%d/", verbose_name="Миниатюра", ), ), ( "message", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="attachments", to="communications.message", verbose_name="Сообщение", ), ), ], options={ "verbose_name": "Вложение", "verbose_name_plural": "Вложения", "ordering": ["uploaded_at"], "indexes": [ models.Index( fields=["message", "file_type"], name="communicati_message_7ec201_idx", ), models.Index( fields=["uploaded_at"], name="communicati_uploade_015a96_idx" ), ], }, ), ]