2024-12-10 23:31:35 +03:00
# Generated by Django 5.0.4 on 2024-04-26 08:14
import django . db . models . deletion
from django . conf import settings
from django . db import migrations , models
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
2024-12-11 01:05:50 +03:00
( ' auction ' , ' 0001_initial ' ) ,
( ' clicks ' , ' 0001_initial ' ) ,
( ' contenttypes ' , ' 0002_remove_content_type_name ' ) ,
( ' misc ' , ' 0001_initial ' ) ,
migrations . swappable_dependency ( settings . AUTH_USER_MODEL ) ,
2024-12-10 23:31:35 +03:00
]
operations = [
migrations . CreateModel (
name = ' Transaction ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' date ' , models . DateTimeField ( auto_now_add = True , verbose_name = ' Дата и время ' ) ) ,
( ' value ' , models . DecimalField ( decimal_places = 5 , max_digits = 105 , verbose_name = ' Значение ' ) ) ,
( ' polymorphic_ctype ' , models . ForeignKey ( editable = False , null = True , on_delete = django . db . models . deletion . CASCADE , related_name = ' polymorphic_ %(app_label)s . %(class)s _set+ ' , to = ' contenttypes.contenttype ' ) ) ,
] ,
options = {
' verbose_name ' : ' Транзакция ' ,
' verbose_name_plural ' : ' Транзакции ' ,
} ,
) ,
migrations . CreateModel (
name = ' TGUser ' ,
fields = [
( ' tg_id ' , models . PositiveBigIntegerField ( primary_key = True , serialize = False , verbose_name = ' Telegram ID ' ) ) ,
( ' username ' , models . CharField ( max_length = 250 , verbose_name = ' Telegram username ' ) ) ,
( ' avatar ' , models . FileField ( blank = True , null = True , upload_to = ' users/ ' , verbose_name = ' Аватарка ' ) ) ,
( ' points ' , models . DecimalField ( decimal_places = 2 , default = 0 , max_digits = 102 , verbose_name = ' Баллы ' ) ) ,
( ' referral_storage ' , models . DecimalField ( decimal_places = 5 , default = 0 , max_digits = 102 , verbose_name = ' Реферальное хранилище ' ) ) ,
( ' created_at ' , models . DateTimeField ( auto_now_add = True , verbose_name = ' Дата и время создания ' ) ) ,
( ' referred_by ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . SET_NULL , related_name = ' referrees ' , to = ' users.tguser ' , verbose_name = ' Кем был приглашен ' ) ) ,
( ' user ' , models . OneToOneField ( on_delete = django . db . models . deletion . CASCADE , related_name = ' tg_user ' , to = settings . AUTH_USER_MODEL , verbose_name = ' Пользователь ' ) ) ,
] ,
options = {
' verbose_name ' : ' ТГ-пользователь ' ,
' verbose_name_plural ' : ' ТГ-пользователи ' ,
} ,
) ,
migrations . CreateModel (
name = ' ReferralTransaction ' ,
fields = [
( ' transaction_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' users.transaction ' ) ) ,
] ,
options = {
' verbose_name ' : ' Реферальная транзакция ' ,
' verbose_name_plural ' : ' Реферальные транзакции ' ,
} ,
bases = ( ' users.transaction ' , ) ,
) ,
migrations . CreateModel (
name = ' MailingList ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' name ' , models . CharField ( max_length = 250 , verbose_name = ' Название ' ) ) ,
( ' time ' , models . DateTimeField ( verbose_name = ' Дата и время публикации ' ) ) ,
( ' text ' , models . TextField ( verbose_name = ' Текст публикации ' ) ) ,
( ' media ' , models . FileField ( upload_to = ' mailing/ ' , verbose_name = ' Вложение ' ) ) ,
( ' status ' , models . CharField ( choices = [ ( ' 1 ' , ' Ожидание ' ) , ( ' 2 ' , ' В очереди' ) , ( ' 3 ' , ' В обработке' ) , ( ' 4 ' , ' Окончена с ошибками ' ) , ( ' 5 ' , ' Завершена ' ) ] , default = ' 1 ' , max_length = 1 , verbose_name = ' Статус ' ) ) ,
( ' main_button ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . CASCADE , related_name = ' mailing_lists_for_main_button ' , to = ' misc.button ' , verbose_name = ' Кнопка ' ) ) ,
( ' webapp_button ' , models . ForeignKey ( blank = True , null = True , on_delete = django . db . models . deletion . CASCADE , related_name = ' mailing_lists_for_webapp_button ' , to = ' misc.button ' , verbose_name = ' Кнопка с веб-аппом ' ) ) ,
] ,
options = {
' verbose_name ' : ' Рассылка ' ,
' verbose_name_plural ' : ' Рассылки ' ,
} ,
) ,
migrations . AddField (
model_name = ' transaction ' ,
name = ' user ' ,
field = models . ForeignKey ( db_constraint = False , on_delete = django . db . models . deletion . DO_NOTHING , related_name = ' transactions ' , to = ' users.tguser ' , verbose_name = ' Пользователь ' ) ,
) ,
migrations . CreateModel (
name = ' MailingListReceiverInfo ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' sent ' , models . BooleanField ( default = False , verbose_name = ' Отправлена ли ' ) ) ,
( ' clicked ' , models . BooleanField ( default = False , verbose_name = ' Нажата ли ' ) ) ,
( ' mailing_list ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , related_name = ' mailing_list_receiver_infos ' , to = ' users.mailinglist ' , verbose_name = ' Рассылка ' ) ) ,
( ' user ' , models . ForeignKey ( on_delete = django . db . models . deletion . CASCADE , related_name = ' mailing_list_receiver_infos ' , to = ' users.tguser ' , verbose_name = ' Пользователь ' ) ) ,
] ,
options = {
' verbose_name ' : ' Информация о получателе рассылки ' ,
' verbose_name_plural ' : ' Информация о получателях рассылки ' ,
} ,
) ,
migrations . AddField (
model_name = ' mailinglist ' ,
name = ' users ' ,
field = models . ManyToManyField ( related_name = ' mailing_lists ' , through = ' users.MailingListReceiverInfo ' , to = ' users.tguser ' , verbose_name = ' Пользователи ' ) ,
) ,
migrations . CreateModel (
name = ' BetTransaction ' ,
fields = [
( ' transaction_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' users.transaction ' ) ) ,
( ' bet ' , models . OneToOneField ( on_delete = django . db . models . deletion . CASCADE , related_name = ' transaction ' , to = ' auction.bet ' , verbose_name = ' Ставка ' ) ) ,
( ' refund_to ' , models . OneToOneField ( blank = True , null = True , on_delete = django . db . models . deletion . CASCADE , related_name = ' refunded_by ' , to = ' users.bettransaction ' , verbose_name = ' Какую транзакцию отменяет ' ) ) ,
] ,
options = {
' verbose_name ' : ' Транзакция за ставку ' ,
' verbose_name_plural ' : ' Транзакции за ставки ' ,
} ,
bases = ( ' users.transaction ' , ) ,
) ,
migrations . CreateModel (
name = ' ClickTransaction ' ,
fields = [
( ' transaction_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' users.transaction ' ) ) ,
( ' click ' , models . OneToOneField ( on_delete = django . db . models . deletion . CASCADE , related_name = ' transaction ' , to = ' clicks.click ' , verbose_name = ' Клик ' ) ) ,
] ,
options = {
' verbose_name ' : ' Транзакция за клик ' ,
' verbose_name_plural ' : ' Транзакции за клики ' ,
} ,
bases = ( ' users.transaction ' , ) ,
) ,
migrations . CreateModel (
name = ' CommissionTransaction ' ,
fields = [
( ' transaction_ptr ' , models . OneToOneField ( auto_created = True , on_delete = django . db . models . deletion . CASCADE , parent_link = True , primary_key = True , serialize = False , to = ' users.transaction ' ) ) ,
( ' parent_transaction ' , models . OneToOneField ( on_delete = django . db . models . deletion . CASCADE , related_name = ' commission ' , to = ' users.bettransaction ' , verbose_name = ' Родительская транзакция ' ) ) ,
] ,
options = {
' verbose_name ' : ' Комиссионная транзакция ' ,
' verbose_name_plural ' : ' Комиссионные транзакции ' ,
} ,
bases = ( ' users.transaction ' , ) ,
) ,
migrations . AddConstraint (
model_name = ' tguser ' ,
constraint = models . UniqueConstraint ( fields = ( ' tg_id ' , ) , name = ' unique_tg_id ' ) ,
) ,
]