init commit

This commit is contained in:
2025-06-13 21:10:20 +09:00
commit d52c611afb
269 changed files with 37162 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
# Generated by Django 5.1.6 on 2025-03-06 10:42
import django.db.models.deletion
from decimal import Decimal
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
('webapp', '0002_invoice'),
]
operations = [
migrations.CreateModel(
name='Lottery',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Название лотереи')),
('description', models.TextField(blank=True, verbose_name='Описание')),
],
),
migrations.CreateModel(
name='Prize',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('prize_place', models.CharField(help_text='Например, 1 место, 2 место и т.д.', max_length=50, verbose_name='Призовое место')),
('description', models.TextField(blank=True, verbose_name='Описание приза')),
('reward', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=10, verbose_name='Награда')),
('lottery', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prizes', to='draw.lottery', verbose_name='Лотерея')),
('winner', models.ForeignKey(blank=True, help_text='Выберите счет участника лотереи, который выиграл приз', null=True, on_delete=django.db.models.deletion.SET_NULL, to='webapp.invoice', verbose_name='Победитель (счет)')),
],
),
]

View File

@@ -0,0 +1,29 @@
# Generated by Django 5.1.6 on 2025-03-06 10:47
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('draw', '0001_initial'),
('webapp', '0002_invoice'),
]
operations = [
migrations.CreateModel(
name='LotteryParticipant',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('added_at', models.DateTimeField(auto_now_add=True, verbose_name='Дата добавления')),
('invoice', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='webapp.invoice', verbose_name='Счет участника')),
('lottery', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='draw.lottery', verbose_name='Лотерея')),
],
options={
'verbose_name': 'Участник лотереи',
'verbose_name_plural': 'Участники лотереи',
'unique_together': {('lottery', 'invoice')},
},
),
]

View File

@@ -0,0 +1,19 @@
# Generated by Django 5.1.6 on 2025-03-06 10:48
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('draw', '0002_lotteryparticipant'),
]
operations = [
migrations.AlterField(
model_name='prize',
name='winner',
field=models.ForeignKey(blank=True, help_text='Выберите счет участника лотереи, который выиграл приз', null=True, on_delete=django.db.models.deletion.SET_NULL, to='draw.lotteryparticipant', verbose_name='Победитель (счет)'),
),
]

View File

@@ -0,0 +1,21 @@
# Generated by Django 5.1.6 on 2025-03-06 10:52
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('draw', '0003_alter_prize_winner'),
]
operations = [
migrations.AlterModelOptions(
name='lottery',
options={'verbose_name': 'Розыгрыш', 'verbose_name_plural': 'Розыгрыши'},
),
migrations.AlterModelOptions(
name='prize',
options={'verbose_name': 'Приз', 'verbose_name_plural': 'Призы'},
),
]

View File

@@ -0,0 +1,56 @@
# Generated by Django 5.1.6 on 2025-03-06 11:19
import django.db.models.deletion
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('draw', '0004_alter_lottery_options_alter_prize_options'),
('webapp', '0003_alter_client_options_alter_invoice_options'),
]
operations = [
migrations.AlterModelOptions(
name='lottery',
options={},
),
migrations.AlterModelOptions(
name='prize',
options={},
),
migrations.AddField(
model_name='lottery',
name='created_at',
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now, verbose_name='Дата создания'),
preserve_default=False,
),
migrations.AddField(
model_name='lotteryparticipant',
name='used',
field=models.BooleanField(default=False, help_text='Отметка, что этот счет уже участвовал в розыгрыше', verbose_name='Использован'),
),
migrations.AlterField(
model_name='lotteryparticipant',
name='invoice',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='draw.lotteryparticipant', verbose_name='Счет участника'),
),
migrations.AlterField(
model_name='prize',
name='winner',
field=models.ForeignKey(blank=True, help_text='Выберите счет участника лотереи, который выиграл приз', null=True, on_delete=django.db.models.deletion.SET_NULL, to='webapp.invoice', verbose_name='Победитель (счет)'),
),
migrations.CreateModel(
name='DrawResult',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('confirmed', models.BooleanField(default=False, verbose_name='Подтвержден')),
('drawn_at', models.DateTimeField(auto_now_add=True, verbose_name='Время розыгрыша')),
('lottery', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='draw_results', to='draw.lottery', verbose_name='Лотерея')),
('participant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='draw.lotteryparticipant', verbose_name='Победитель')),
('prize', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='draw.prize', verbose_name='Приз')),
],
),
]

View File

@@ -0,0 +1,25 @@
# Generated by Django 5.1.6 on 2025-03-06 11:21
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('draw', '0005_alter_lottery_options_alter_prize_options_and_more'),
('webapp', '0003_alter_client_options_alter_invoice_options'),
]
operations = [
migrations.AlterField(
model_name='lotteryparticipant',
name='invoice',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='webapp.invoice', verbose_name='Счет участника'),
),
migrations.AlterField(
model_name='prize',
name='winner',
field=models.ForeignKey(blank=True, help_text='Выберите счет участника лотереи, который выиграл приз', null=True, on_delete=django.db.models.deletion.SET_NULL, to='draw.lotteryparticipant', verbose_name='Победитель (счет)'),
),
]

View File

@@ -0,0 +1,25 @@
# Generated by Django 5.1.6 on 2025-03-06 11:29
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('draw', '0006_alter_lotteryparticipant_invoice_alter_prize_winner'),
]
operations = [
migrations.AlterModelOptions(
name='drawresult',
options={'verbose_name': 'Результат розыгрыша', 'verbose_name_plural': 'Результаты розыгрыша'},
),
migrations.AlterModelOptions(
name='lottery',
options={'verbose_name': 'Лотерея', 'verbose_name_plural': 'Лотереи'},
),
migrations.AlterModelOptions(
name='prize',
options={'verbose_name': 'Приз', 'verbose_name_plural': 'Призы'},
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.1.6 on 2025-03-22 22:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('draw', '0007_alter_drawresult_options_alter_lottery_options_and_more'),
]
operations = [
migrations.AddField(
model_name='lottery',
name='finished',
field=models.BooleanField(default=False, verbose_name='Завершена'),
),
]

View File