Initial commit: Django backend with Campaign, ContactUs, and Composition APIs

This commit is contained in:
Shayan Azadi
2025-12-17 15:58:07 +03:30
commit 3e100bae99
23 changed files with 1454 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
# Generated by Django 4.2.7 on 2025-12-17 12:13
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='ContactUs',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200, verbose_name='نام و نام خانوادگی')),
('email_or_phone', models.CharField(help_text='Can be either email or phone number', max_length=200, verbose_name='ایمیل / شماره تماس')),
('description', models.TextField(verbose_name='توضیحات')),
('category', models.CharField(choices=[('همکاری', 'همکاری'), ('فروش', 'فروش'), ('پشتیبانی', 'پشتیبانی'), ('درخواست مشاور', 'درخواست مشاور'), ('سایر', 'سایر')], max_length=50, verbose_name='دسته\u200cبندی')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
],
options={
'verbose_name': 'تماس با ما',
'verbose_name_plural': 'تماس\u200cهای با ما',
'ordering': ['-created_at'],
'indexes': [models.Index(fields=['-created_at'], name='api_contact_created_d03dd7_idx'), models.Index(fields=['category'], name='api_contact_categor_76ad37_idx')],
},
),
migrations.CreateModel(
name='Composition',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200, verbose_name='نام')),
('description', models.TextField(verbose_name='توضیحات')),
('image', models.ImageField(blank=True, null=True, upload_to='compositions/', verbose_name='تصویر')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
],
options={
'verbose_name': 'ترکیب',
'verbose_name_plural': 'ترکیبات',
'ordering': ['-created_at'],
'indexes': [models.Index(fields=['-created_at'], name='api_composi_created_ac63fb_idx')],
},
),
migrations.CreateModel(
name='Campaign',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200, verbose_name='نام')),
('description', models.TextField(verbose_name='توضیحات')),
('start_time', models.DateTimeField(verbose_name='زمان شروع')),
('end_time', models.DateTimeField(verbose_name='زمان پایان')),
('image', models.ImageField(blank=True, null=True, upload_to='campaigns/', verbose_name='تصویر')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ایجاد')),
('updated_at', models.DateTimeField(auto_now=True, verbose_name='تاریخ بروزرسانی')),
],
options={
'verbose_name': 'کمپین',
'verbose_name_plural': 'کمپین\u200cها',
'ordering': ['-start_time'],
'indexes': [models.Index(fields=['-start_time'], name='api_campaig_start_t_c79399_idx'), models.Index(fields=['end_time'], name='api_campaig_end_tim_d3f700_idx')],
},
),
]

View File