73 lines
4.5 KiB
Python
73 lines
4.5 KiB
Python
# Generated by Django 4.2.2 on 2024-03-28 22:05
|
||
|
||
import account.models
|
||
from django.conf import settings
|
||
from django.db import migrations, models
|
||
import django.utils.timezone
|
||
|
||
import account.models
|
||
import bonus_program.models
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
|
||
initial = True
|
||
|
||
dependencies = [
|
||
]
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name='User',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('password', models.CharField(max_length=128, verbose_name='password')),
|
||
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
||
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
||
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
||
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
||
('email', models.EmailField(max_length=254, unique=True, verbose_name='Эл. почта')),
|
||
('first_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='first name')),
|
||
('last_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='last name')),
|
||
('middle_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='Отчество')),
|
||
('role', models.CharField(choices=[('admin', 'Администратор'), ('ordermanager', 'Менеджер по заказам'), ('productmanager', 'Менеджер по закупкам'), ('client', 'Клиент')], default='client', max_length=30, verbose_name='Роль')),
|
||
('phone', models.CharField(blank=True, max_length=100, null=True, unique=True, verbose_name='Телефон')),
|
||
('telegram', models.CharField(blank=True, max_length=100, null=True, verbose_name='Telegram')),
|
||
],
|
||
options={
|
||
'verbose_name': 'user',
|
||
'verbose_name_plural': 'users',
|
||
'abstract': False,
|
||
},
|
||
managers=[
|
||
('objects', account.models.UserManager()),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='BonusProgramTransaction',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('type', models.PositiveSmallIntegerField(choices=[(0, 'Другое начисление'), (1, 'Бонус за регистрацию'), (2, 'Бонус за покупку'), (3, 'Бонус за первую покупку приглашенного'), (4, 'Бонус за первую покупку'), (10, 'Другое списание'), (11, 'Списание бонусов за заказ')], verbose_name='Тип транзакции')),
|
||
('date', models.DateTimeField(auto_now_add=True, verbose_name='Дата транзакции')),
|
||
('amount', models.SmallIntegerField(verbose_name='Количество, руб')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='ReferralRelationship',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('invited', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_invited', to=settings.AUTH_USER_MODEL)),
|
||
('inviter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_inviter', to=settings.AUTH_USER_MODEL)),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='BonusProgramUser',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('balance', models.PositiveSmallIntegerField(default=0, verbose_name='Баланс, руб')),
|
||
('referral_code', models.CharField(default=bonus_program.models.generate_referral_code, editable=False, max_length=9)),
|
||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||
],
|
||
),
|
||
]
|