Files
site_backend/api/migrations/0002_composition_images.py
Shayan Azadi 7e71d922d3 Add multi-image compositions, docker setup, tests, and docs
- Add CompositionImage model with multi-image upload and main image flag
- Add composition endpoints: add-images, set-main-image, delete image, by-created-at filter
- Make contact-us by_category public
- Add 24 API tests covering all endpoints
- Add Dockerfile, docker-compose, entrypoint and docker docs
- Add Persian API docs and update README and Postman collection

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 13:43:34 +03:30

34 lines
1.4 KiB
Python

# Generated by Django 4.2.7 on 2026-06-23 14:12
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('api', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='CompositionImage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('image', models.ImageField(upload_to='compositions/', verbose_name='تصویر')),
('is_main', models.BooleanField(default=False, verbose_name='تصویر اصلی')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
('composition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='api.composition', verbose_name='ترکیب')),
],
options={
'verbose_name': 'تصویر ترکیب',
'verbose_name_plural': 'تصاویر ترکیب',
'ordering': ['-is_main', '-created_at'],
},
),
migrations.AddConstraint(
model_name='compositionimage',
constraint=models.UniqueConstraint(condition=models.Q(('is_main', True)), fields=('composition',), name='unique_main_image_per_composition'),
),
]