class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='ImageMetadata',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('filename', models.CharField(max_length=256)),
                ('image_path',
                 models.ImageField(upload_to=backend.models.new_image_path)),
                ('upload_time', models.DateTimeField(auto_now_add=True)),
                ('thumbnails_json',
                 models.CharField(blank=True,
                                  default=None,
                                  max_length=256,
                                  null=True)),
            ],
        ),
    ]
예제 #2
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0051_auto_20201212_2258'),
    ]

    operations = [
        migrations.AlterField(
            model_name='expertise',
            name='name',
            field=models.CharField(help_text='Expertise description', max_length=100, unique=True),
        ),
        migrations.AlterField(
            model_name='expertisekeyword',
            name='name',
            field=models.CharField(help_text='Expertise keyword description', max_length=100, unique=True),
        ),
        migrations.AlterField(
            model_name='userinformation',
            name='avatar',
            field=models.ImageField(blank=True, help_text='Your profile picture.', null=True, upload_to='profiles', validators=[backend.models.UserInformation.validate_avatar]),
        ),
        migrations.AlterUniqueTogether(
            name='degree',
            unique_together={('level', 'domain', 'institution', 'user')},
        ),
    ]
예제 #3
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Html',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('signature_code', models.CharField(max_length=32)),
                ('name', models.CharField(max_length=256)),
                ('html_code', models.TextField()),
                ('count', models.IntegerField()),
                ('category', models.CharField(max_length=256)),
                ('code_type', models.CharField(max_length=32)),
                ('created_at',
                 models.FloatField(default=backend.models.get_created_at)),
                ('updated_at',
                 models.FloatField(default=backend.models.get_created_at)),
                ('user',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='signatures',
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0002_auto_20190330_0038'),
    ]

    operations = [
        migrations.AddField(
            model_name='transport',
            name='event',
            field=models.ForeignKey(
                default=None,
                on_delete=django.db.models.deletion.CASCADE,
                to='backend.Event'),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='transport',
            name='user',
            field=models.ForeignKey(
                default=None,
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
            preserve_default=False,
        ),
        migrations.AlterField(
            model_name='event',
            name='id',
            field=models.CharField(default=backend.models.generate_event_uuid,
                                   editable=False,
                                   max_length=12,
                                   primary_key=True,
                                   serialize=False),
        ),
        migrations.AlterField(
            model_name='transport',
            name='id',
            field=models.CharField(default=backend.models.generate_user_uuid,
                                   editable=False,
                                   max_length=16,
                                   primary_key=True,
                                   serialize=False),
        ),
        migrations.AlterField(
            model_name='transport',
            name='other_detail',
            field=models.TextField(blank=True, verbose_name='详细信息'),
        ),
        migrations.AlterField(
            model_name='userregisterevent',
            name='date_registered',
            field=models.DateTimeField(auto_now_add=True, verbose_name='注册时间'),
        ),
    ]
예제 #5
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='OldManInfo',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=10)),
                ('address', models.CharField(max_length=30, null=True)),
                ('age', models.PositiveIntegerField(null=True)),
                ('medical_history', models.CharField(max_length=30,
                                                     null=True)),
                ('allergy', models.CharField(max_length=30, null=True)),
                ('blood_type', models.CharField(max_length=10, null=True)),
                ('drugs', models.CharField(max_length=30, null=True)),
                ('treatment', models.CharField(max_length=30, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='QrCode',
            fields=[
                ('qr_code_id',
                 models.CharField(max_length=50,
                                  primary_key=True,
                                  serialize=False)),
                ('old_man_info',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='info',
                                   to='backend.OldManInfo')),
            ],
            bases=(models.Model, backend.models.PhoneNumberMethod),
        ),
        migrations.CreateModel(
            name='PhoneNumber',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('phone_number', models.CharField(max_length=50)),
                ('object_id', models.PositiveIntegerField()),
                ('content_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contenttypes.ContentType')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0005_auto_20190925_2054'),
    ]

    operations = [
        migrations.CreateModel(
            name='suite_libs',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, max_length=255)),
                ('descr', models.TextField(blank=True, null=True)),
                ('docs', models.TextField(blank=True,
                                          editable=False,
                                          null=True)),
                ('lib_name', models.CharField(blank=True, max_length=255)),
                ('status',
                 models.CharField(default='PENDING',
                                  editable=False,
                                  max_length=10)),
                ('f_lib',
                 models.FileField(
                     blank=True,
                     upload_to='libs/',
                     validators=[
                         django.core.validators.FileExtensionValidator(['py']),
                         backend.models.validate_fsize
                     ],
                     verbose_name='File ( .py Max 150Kb )')),
                ('notes', models.TextField(blank=True, null=True)),
                ('dt',
                 models.DateTimeField(auto_now=True, verbose_name='Created')),
            ],
            options={
                'verbose_name': 'LIBRARIES',
                'verbose_name_plural': 'LIBRARIES',
                'ordering': ('name', 'lib_name', 'status'),
            },
        ),
        migrations.AlterField(
            model_name='temp_library',
            name='l_val',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='li_val',
                to='backend.suite_libs',
                verbose_name='Library'),
        ),
    ]
예제 #7
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0003_auto_20190330_0333'),
    ]

    operations = [
        migrations.CreateModel(
            name='CheckIn',
            fields=[
                ('token', models.CharField(default=backend.models.generate_user_uuid, editable=False, max_length=16, primary_key=True, serialize=False)),
            ],
        ),
        migrations.AddField(
            model_name='event',
            name='checkin_enabled',
            field=models.BooleanField(default=False, verbose_name='正在签到'),
        ),
        migrations.AlterUniqueTogether(
            name='usermanageevent',
            unique_together={('user', 'event')},
        ),
        migrations.AlterUniqueTogether(
            name='userregisterevent',
            unique_together={('user', 'event')},
        ),
        migrations.AddField(
            model_name='checkin',
            name='event',
            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='backend.Event'),
        ),
    ]
예제 #8
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0011_auto_20180206_0611'),
    ]

    operations = [
        migrations.CreateModel(
            name='GamePlayers',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('wallet',
                 models.CharField(
                     max_length=64,
                     validators=[backend.models.wallet_validation])),
                ('game',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='game',
                                   to='backend.Game')),
            ],
        ),
    ]
예제 #9
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Poll',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('description', models.CharField(max_length=300)),
                ('startDate', models.DateField()),
                ('finishDate', models.DateField()),
            ],
        ),
        migrations.CreateModel(
            name='Submission',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('userId', models.IntegerField(db_index=True)),
                ('submitTime', models.DateTimeField(auto_now_add=True)),
                ('poll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Poll')),
            ],
        ),
        migrations.CreateModel(
            name='Question',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.CharField(max_length=30, validators=[backend.models.validateQuestionType])),
                ('text', models.CharField(max_length=300)),
                ('poll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Poll')),
            ],
        ),
        migrations.CreateModel(
            name='Option',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('index', models.PositiveIntegerField()),
                ('text', models.CharField(max_length=100)),
                ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Question')),
            ],
        ),
        migrations.CreateModel(
            name='Answer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('questionType', models.CharField(max_length=30, validators=[backend.models.validateQuestionType])),
                ('questionText', models.CharField(max_length=300)),
                ('answerText', models.CharField(max_length=300)),
                ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Question')),
                ('submission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Submission')),
            ],
        ),
    ]
예제 #10
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Task',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='NULL', max_length=256,
                                  unique=True)),
                ('details', models.CharField(max_length=512)),
                ('image',
                 models.ImageField(upload_to=backend.models.upload_task)),
            ],
        ),
        migrations.CreateModel(
            name='Submission',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('image',
                 models.ImageField(
                     upload_to=backend.models.upload_submission)),
                ('score', models.IntegerField(blank=True, null=True)),
                ('task',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.task')),
            ],
        ),
    ]
예제 #11
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Article',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=250)),
                ('slug', models.SlugField(unique=True)),
                ('author', models.CharField(max_length=250)),
                ('guess', models.CharField(max_length=150)),
                ('photograph', models.CharField(max_length=150)),
                ('date', models.DateTimeField(blank=True, null=True)),
                ('resume', models.TextField()),
                ('content', models.TextField()),
                ('facebookUrl', models.TextField(blank=True, null=True)),
                ('twitterUrl', models.TextField(blank=True, null=True)),
                ('whatsappUrl', models.TextField(blank=True, null=True)),
                ('mailUrl', models.TextField(blank=True, null=True)),
                ('coverImage', models.FileField(blank=True, null=True, upload_to=backend.models.articles_image_path)),
                ('articleImage', models.FileField(blank=True, null=True, upload_to=backend.models.articles_image_path)),
                ('cover', models.BooleanField(default=False)),
                ('mainMenu', models.BooleanField(default=False)),
                ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
                ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0006_auto_20190401_1218'),
    ]

    operations = [
        migrations.AlterField(
            model_name='checkin',
            name='token',
            field=models.CharField(default=backend.models.generate_checkin_uuid, editable=False, max_length=10, primary_key=True, serialize=False),
        ),
    ]
예제 #13
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('backend', '0005_auto_20180803_0855'),
    ]

    operations = [
        migrations.CreateModel(
            name='UpcomingBook',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('author', models.CharField(blank=True, max_length=100)),
                ('image',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=backend.models.upload_image_path)),
                ('created_date', models.DateField(verbose_name='Added Date')),
                ('updated_date',
                 models.DateField(verbose_name='Updated Date')),
                ('launched_date',
                 models.DateField(verbose_name='Launched Date')),
                ('category',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Category')),
            ],
            options={
                'ordering': ['title'],
            },
        ),
    ]
예제 #14
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='PokerUser',
            fields=[
                ('id', models.AutoField(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_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
                ('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')),
                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
            ],
            options={
                'abstract': False,
                'verbose_name_plural': 'users',
                'verbose_name': 'user',
            },
            managers=[
                ('objects', backend.models.PokerUserManager()),
            ],
        ),
    ]
예제 #15
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0011_auto_20210306_1615'),
    ]

    operations = [
        migrations.AlterField(
            model_name='session',
            name='session_id',
            field=models.CharField(
                default=backend.models.generate_unique_session_code,
                editable=False,
                max_length=8,
                unique=True),
        ),
    ]
예제 #16
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0008_auto_20210306_1554'),
    ]

    operations = [
        migrations.AlterField(
            model_name='session',
            name='session_id',
            field=models.UUIDField(default=backend.models.generate_unique_session_code, editable=False, unique=True),
        ),
        migrations.AlterField(
            model_name='users',
            name='user_id',
            field=models.CharField(default=backend.models.generate_unique_user_code, editable=False, max_length=8, primary_key=True, serialize=False),
        ),
    ]
예제 #17
0
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0003_auto_20190505_0850'),
    ]

    operations = [
        migrations.AlterModelManagers(
            name='gcauser',
            managers=[
                ('objects', backend.models.UserManager()),
            ],
        ),
        migrations.AlterField(
            model_name='gcauser',
            name='username',
            field=models.CharField(help_text='username',
                                   max_length=100,
                                   unique=True),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('backend', '0001_create_user_class'),
    ]

    operations = [
        migrations.RenameField(
            model_name='user',
            old_name='name',
            new_name='username',
        ),
        migrations.CreateModel(
            name='Post',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('body', models.TextField()),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_modified_on', models.DateTimeField(auto_now=True)),
                ('author', models.ForeignKey(on_delete=models.SET(backend.models.get_sentinel_user), to='backend.user')),
            ],
        ),
    ]
예제 #19
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Cart',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('ref', models.CharField(blank=True, max_length=10, null=True)),
                ('total', models.IntegerField(default=0)),
                ('status', models.CharField(default='Open', max_length=25)),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Catalog',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=50)),
                ('slug', models.SlugField(unique=True)),
                ('picture', models.FileField(null=True, upload_to='catalogs')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=50)),
                ('slug', models.SlugField(unique=True)),
                ('picture', models.FileField(null=True, upload_to='categories')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Collection',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=50)),
                ('slug', models.SlugField(unique=True)),
                ('picture', models.FileField(null=True, upload_to='collections')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Color',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=200)),
                ('slug', models.SlugField(unique=True)),
                ('picture', models.FileField(null=True, upload_to='motifs')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('title', models.CharField(max_length=100)),
                ('slug', models.SlugField(unique=True)),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('ref', models.CharField(max_length=12)),
                ('title', models.CharField(max_length=50)),
                ('slug', models.SlugField(unique=True)),
                ('price', models.IntegerField()),
                ('description', models.TextField(default='')),
                ('material', models.CharField(blank=True, max_length=150, null=True)),
                ('is_feature', models.BooleanField(default=False)),
                ('is_discount', models.BooleanField(default=False)),
                ('catalog', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Catalog')),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Category')),
                ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Collection')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='Size',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('name', models.CharField(max_length=50)),
                ('size_system', models.CharField(default='', max_length=20)),
                ('quantity', models.IntegerField(default=0)),
                ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Category')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('gender', models.CharField(max_length=10)),
                ('title', models.CharField(blank=True, max_length=4, null=True)),
                ('phone_number', models.CharField(blank=True, max_length=50, null=True)),
                ('first_name', models.CharField(blank=True, max_length=100, null=True)),
                ('last_name', models.CharField(blank=True, max_length=100, null=True)),
                ('city', models.CharField(blank=True, max_length=100, null=True)),
                ('country', models.CharField(blank=True, max_length=100, null=True)),
                ('address', models.CharField(blank=True, default='', max_length=250, null=True)),
                ('birth_date', models.DateField(blank=True, null=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('user', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='userprofile', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Variety',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('quantity', models.IntegerField(default=0)),
                ('picture1', models.FileField(blank=True, null=True, upload_to=backend.models.product_variety_image_path)),
                ('picture2', models.FileField(blank=True, null=True, upload_to=backend.models.product_variety_image_path)),
                ('picture3', models.FileField(blank=True, null=True, upload_to=backend.models.product_variety_image_path)),
                ('picture4', models.FileField(blank=True, null=True, upload_to=backend.models.product_variety_image_path)),
                ('color', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Color')),
                ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
                ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
                ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Product')),
                ('size', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Size')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.AddField(
            model_name='size',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='size',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='product',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='product',
            name='group',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Group'),
        ),
        migrations.AddField(
            model_name='product',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='group',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='group',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='color',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='color',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='collection',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='collection',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='category',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='category',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='catalog',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='catalog',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.CreateModel(
            name='CartItem',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('is_archived', models.BooleanField(blank=True, default=False)),
                ('is_published', models.BooleanField(blank=True, default=True)),
                ('created_date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)),
                ('modified_date', models.DateTimeField(blank=True, editable=False, null=True)),
                ('quantity', models.IntegerField(default=1)),
                ('line_total', models.IntegerField(default=1)),
                ('cart', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Cart')),
                ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
                ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile')),
                ('variety', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Variety')),
            ],
            options={
                'abstract': False,
                'ordering': ['-created_date'],
            },
        ),
        migrations.AddField(
            model_name='cart',
            name='created_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
        migrations.AddField(
            model_name='cart',
            name='modified_by',
            field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='backend.UserProfile'),
        ),
    ]
예제 #20
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Beer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40, null=True)),
                ('description', models.TextField(max_length=1000)),
                ('abv', models.DecimalField(decimal_places=2, max_digits=3)),
            ],
        ),
        migrations.CreateModel(
            name='Brand',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40)),
            ],
        ),
        migrations.CreateModel(
            name='City',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40)),
            ],
        ),
        migrations.CreateModel(
            name='Country',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40)),
            ],
        ),
        migrations.CreateModel(
            name='Rating',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('score', backend.models.IntegerRangeField()),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('beer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Beer')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='city',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Country'),
        ),
        migrations.AddField(
            model_name='brand',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.City'),
        ),
        migrations.AddField(
            model_name='beer',
            name='brand',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Brand'),
        ),
    ]
예제 #21
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0011_update_proxy_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='MyUser',
            fields=[
                ('id',
                 models.AutoField(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_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='last name')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('is_active',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('type',
                 models.CharField(choices=[('shop', 'Магазин'),
                                           ('buyer', 'Покупатель')],
                                  default='buyer',
                                  max_length=5,
                                  verbose_name='Тип пользователя')),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'Пользователь',
                'verbose_name_plural': 'Список пользователей',
                'ordering': ('email', ),
            },
            managers=[
                ('objects', backend.models.MyUserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=40,
                                  verbose_name='Название категории')),
            ],
            options={
                'verbose_name': 'Категория',
                'verbose_name_plural': 'Список категорий',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('city', models.CharField(max_length=50,
                                          verbose_name='Город')),
                ('street',
                 models.CharField(max_length=100, verbose_name='Улица')),
                ('house',
                 models.CharField(blank=True,
                                  max_length=15,
                                  verbose_name='Дом')),
                ('structure',
                 models.CharField(blank=True,
                                  max_length=15,
                                  verbose_name='Корпус')),
                ('building',
                 models.CharField(blank=True,
                                  max_length=15,
                                  verbose_name='Строение')),
                ('apartment',
                 models.CharField(blank=True,
                                  max_length=15,
                                  verbose_name='Квартира')),
                ('phone',
                 models.CharField(max_length=20, verbose_name='Телефон')),
                ('user',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='contacts',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Контакты пользователя',
                'verbose_name_plural': 'Список контактов пользователя',
            },
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('dt', models.DateTimeField(auto_now_add=True)),
                ('state',
                 models.CharField(choices=[('basket', 'Статус корзины'),
                                           ('new', 'Новый'),
                                           ('confirmed', 'Подтвержден'),
                                           ('assembled', 'Собран'),
                                           ('sent', 'Отправлен'),
                                           ('delivered', 'Доставлен'),
                                           ('canceled', 'Отменен')],
                                  max_length=15,
                                  verbose_name='Статус')),
                ('contact',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Contact',
                                   verbose_name='Контакт')),
                ('user',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='orders',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Заказ',
                'verbose_name_plural': 'Список заказ',
                'ordering': ('-dt', ),
            },
        ),
        migrations.CreateModel(
            name='Parameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=40, verbose_name='Название')),
            ],
            options={
                'verbose_name': 'Имя параметра',
                'verbose_name_plural': 'Список имен параметров',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=80,
                                  verbose_name='Название продукта')),
                ('category',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='products',
                                   to='backend.Category',
                                   verbose_name='Категория')),
            ],
            options={
                'verbose_name': 'Продукт',
                'verbose_name_plural': 'Список продуктов',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='ProductInfo',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('quantity',
                 models.PositiveIntegerField(verbose_name='Количество')),
                ('price', models.PositiveIntegerField(verbose_name='Цена')),
                ('price_rrc',
                 models.PositiveIntegerField(
                     verbose_name='Рекомендуемая розничная цена')),
                ('product',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_infos',
                                   to='backend.Product',
                                   verbose_name='Продукт')),
            ],
            options={
                'verbose_name': 'Информация о продукте',
                'verbose_name_plural': 'Информационный список о продуктах',
            },
        ),
        migrations.CreateModel(
            name='Shop',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=50,
                                  verbose_name='Название магазина')),
                ('url',
                 models.URLField(blank=True, null=True,
                                 verbose_name='Ссылка')),
                ('state',
                 models.BooleanField(default=True,
                                     verbose_name='Магазин работает?')),
                ('user',
                 models.OneToOneField(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Магазин',
                'verbose_name_plural': 'Список магазинов',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='ProductParameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('value',
                 models.CharField(max_length=100, verbose_name='Значение')),
                ('parameter',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_parameters',
                                   to='backend.Parameter',
                                   verbose_name='Параметр')),
                ('product_info',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_parameters',
                                   to='backend.ProductInfo',
                                   verbose_name='Информация о продукте')),
            ],
            options={
                'verbose_name': 'Параметр',
                'verbose_name_plural': 'Список параметров',
            },
        ),
        migrations.AddField(
            model_name='productinfo',
            name='shop',
            field=models.ForeignKey(
                blank=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='product_infos',
                to='backend.Shop',
                verbose_name='Магазин'),
        ),
        migrations.CreateModel(
            name='OrderItem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('quantity',
                 models.PositiveIntegerField(verbose_name='Количество')),
                ('order',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='ordered_items',
                                   to='backend.Order',
                                   verbose_name='Заказ')),
                ('product_info',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='ordered_items',
                                   to='backend.ProductInfo',
                                   verbose_name='Информация о продукте')),
            ],
            options={
                'verbose_name': 'Заказанная позиция',
                'verbose_name_plural': 'Список заказанных позиций',
            },
        ),
        migrations.AddField(
            model_name='category',
            name='shops',
            field=models.ManyToManyField(blank=True,
                                         related_name='categories',
                                         to='backend.Shop',
                                         verbose_name='Магазины'),
        ),
        migrations.AddConstraint(
            model_name='productparameter',
            constraint=models.UniqueConstraint(
                fields=('product_info', 'parameter'),
                name='unique_product_parameter'),
        ),
        migrations.AddConstraint(
            model_name='orderitem',
            constraint=models.UniqueConstraint(fields=('order_id',
                                                       'product_info'),
                                               name='unique_order_item'),
        ),
    ]
예제 #22
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0011_update_proxy_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(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_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
                ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
                ('company', models.CharField(blank=True, max_length=40, verbose_name='Компания')),
                ('position', models.CharField(blank=True, max_length=40, verbose_name='Должность')),
                ('is_active', models.BooleanField(default=False, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
                ('type', models.CharField(choices=[('shop', 'Магазин'), ('buyer', 'Покупатель')], default='buyer', max_length=5, verbose_name='Тип пользователя')),
                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'Пользователь',
                'verbose_name_plural': 'Список пользователей',
                'ordering': ('email',),
            },
            managers=[
                ('objects', backend.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40, verbose_name='Название')),
            ],
            options={
                'verbose_name': 'Категория',
                'verbose_name_plural': 'Список категорий',
                'ordering': ('-name',),
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('city', models.CharField(max_length=50, verbose_name='Город')),
                ('street', models.CharField(max_length=100, verbose_name='Улица')),
                ('house', models.CharField(blank=True, max_length=15, verbose_name='Дом')),
                ('structure', models.CharField(blank=True, max_length=15, verbose_name='Корпус')),
                ('building', models.CharField(blank=True, max_length=15, verbose_name='Строение')),
                ('apartment', models.CharField(blank=True, max_length=15, verbose_name='Квартира')),
                ('phone', models.CharField(max_length=20, verbose_name='Телефон')),
                ('user', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='contacts', to=settings.AUTH_USER_MODEL, verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Контакты пользователя',
                'verbose_name_plural': 'Список контактов пользователя',
            },
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('status', models.CharField(choices=[('basket', 'В корзине'), ('new', 'Новый'), ('confirmed', 'Подтвержден'), ('assembled', 'Собран'), ('sent', 'Отправлен'), ('delivered', 'Доставлен'), ('canceled', 'Отменен')], default='basket', max_length=15, verbose_name='Статус')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('contact', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='backend.Contact', verbose_name='Контакт')),
                ('user', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL, verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Заказ',
                'verbose_name_plural': 'Список заказов',
                'ordering': ('-created',),
            },
        ),
        migrations.CreateModel(
            name='Parameter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=40, verbose_name='Название')),
            ],
            options={
                'verbose_name': 'Имя параметра',
                'verbose_name_plural': 'Список имен параметров',
                'ordering': ('-name',),
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=80, verbose_name='Название')),
                ('model', models.CharField(blank=True, max_length=80, verbose_name='Модель')),
                ('external_id', models.PositiveIntegerField(verbose_name='Внешний ИД')),
                ('quantity', models.PositiveIntegerField(verbose_name='Количество')),
                ('price', models.PositiveIntegerField(verbose_name='Цена')),
                ('price_rrc', models.PositiveIntegerField(verbose_name='Рекомендуемая розничная цена')),
                ('category', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='products', to='backend.Category', verbose_name='Категория')),
            ],
            options={
                'verbose_name': 'Продукт',
                'verbose_name_plural': 'Список продуктов',
                'ordering': ('category', '-name'),
            },
        ),
        migrations.CreateModel(
            name='Shop',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, verbose_name='Название')),
                ('url', models.URLField(blank=True, null=True, verbose_name='Ссылка на файл прайса')),
                ('state', models.BooleanField(default=True, verbose_name='Cтатус получения заказов')),
                ('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Пользователь')),
            ],
            options={
                'verbose_name': 'Магазин',
                'verbose_name_plural': 'Список магазинов',
                'ordering': ('-name',),
            },
        ),
        migrations.CreateModel(
            name='ProductParameter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('value', models.CharField(max_length=100, verbose_name='Значение')),
                ('parameter', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='parameter', to='backend.Parameter', verbose_name='Параметр')),
                ('product', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_parameters', to='backend.Product', verbose_name='Информация о продукте')),
            ],
            options={
                'verbose_name': 'Параметр',
                'verbose_name_plural': 'Список параметров',
            },
        ),
        migrations.AddField(
            model_name='product',
            name='shop',
            field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='products_info', to='backend.Shop', verbose_name='Магазин'),
        ),
        migrations.CreateModel(
            name='OrderItem',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_name', models.CharField(max_length=80, verbose_name='Название товара')),
                ('external_id', models.PositiveIntegerField(verbose_name='Внешний ИД')),
                ('quantity', models.PositiveIntegerField(default=1, verbose_name='Количество')),
                ('price', models.PositiveIntegerField(default=0, verbose_name='Цена')),
                ('total_amount', models.PositiveIntegerField(default=0, verbose_name='Общая стоимость')),
                ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='backend.Category', verbose_name='Категория товара')),
                ('order', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='ordered_items', to='backend.Order', verbose_name='Заказ')),
                ('shop', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='backend.Shop', verbose_name='магазин')),
            ],
            options={
                'verbose_name': 'Заказанная позиция',
                'verbose_name_plural': 'Список заказанных позиций',
            },
        ),
        migrations.CreateModel(
            name='ConfirmEmailToken',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='When was this token generated')),
                ('key', models.CharField(db_index=True, max_length=64, unique=True, verbose_name='Key')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='confirm_email_tokens', to=settings.AUTH_USER_MODEL, verbose_name='The User which is associated to this password reset token')),
            ],
            options={
                'verbose_name': 'Токен подтверждения Email',
                'verbose_name_plural': 'Токены подтверждения Email',
            },
        ),
        migrations.AddField(
            model_name='category',
            name='shops',
            field=models.ManyToManyField(blank=True, related_name='categories', to='backend.Shop', verbose_name='Магазины'),
        ),
        migrations.AddConstraint(
            model_name='productparameter',
            constraint=models.UniqueConstraint(fields=('product', 'parameter'), name='unique_product_parameter'),
        ),
        migrations.AddConstraint(
            model_name='product',
            constraint=models.UniqueConstraint(fields=('shop', 'category', 'external_id'), name='unique_product_info'),
        ),
        migrations.AddConstraint(
            model_name='orderitem',
            constraint=models.UniqueConstraint(fields=('order_id', 'product_name'), name='unique_order_item'),
        ),
    ]
예제 #23
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('email', models.EmailField(max_length=255, unique=True)),
                ('email_confirmed', models.BooleanField(default=False)),
                ('active', models.BooleanField(default=True)),
                ('staff', models.BooleanField(default=False)),
                ('admin', models.BooleanField(default=False)),
                ('created',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('last_login',
                 models.DateTimeField(default=django.utils.timezone.now)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('slug', models.CharField(max_length=100)),
                ('icon', models.CharField(max_length=100)),
            ],
        ),
        migrations.CreateModel(
            name='Channel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=20)),
                ('channel_id',
                 models.CharField(blank=True, editable=False, max_length=11)),
                ('created',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('last_login',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('avatar',
                 models.ImageField(blank=True, null=True, upload_to='')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='channels',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Video',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.CharField(default='UNTITLED VIDEO', max_length=100)),
                ('description', models.TextField(blank=True, null=True)),
                ('watch_id',
                 models.CharField(blank=True, max_length=11, null=True)),
                ('visibility',
                 models.CharField(choices=[('PRIVATE', 'Private'),
                                           ('PUBLIC', 'Public'),
                                           ('UNLISTED', 'Unlisted')],
                                  default='PUBLIC',
                                  max_length=8)),
                ('views', models.BigIntegerField(default=0)),
                ('created',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('uploaded_file',
                 models.FileField(
                     null=True,
                     storage=django.core.files.storage.FileSystemStorage(
                         location='/home/danjo/Projects/tracle/uploads'),
                     upload_to=backend.models.get_video_location)),
                ('thumbnail', models.CharField(max_length=255, null=True)),
                ('video_status',
                 models.CharField(choices=[('queued', 'Queued'),
                                           ('draft', 'Draft'),
                                           ('started', 'Processing'),
                                           ('finished', 'Done'),
                                           ('failed', 'Error')],
                                  db_column='video_status',
                                  default='draft',
                                  max_length=255)),
                ('job_id',
                 models.CharField(blank=True, max_length=255, null=True)),
                ('category',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Category')),
                ('channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='videos',
                                   to='backend.Channel')),
            ],
        ),
        migrations.CreateModel(
            name='Subscription',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('from_channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Channel')),
                ('to_channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='subscriptions',
                                   to='backend.Channel')),
            ],
        ),
        migrations.CreateModel(
            name='Likes',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Channel')),
                ('video',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='likes',
                                   to='backend.Video')),
            ],
        ),
        migrations.CreateModel(
            name='Dislikes',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('channel',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.Channel')),
                ('video',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='dislikes',
                                   to='backend.Video')),
            ],
        ),
    ]
예제 #24
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='StoredFile',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('filename',
                 models.CharField(blank=True, db_index=True, max_length=128)),
                ('metadata',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True,
                                                                null=True)),
                ('kind',
                 models.CharField(blank=True, default='', max_length=128)),
                ('mime_type',
                 models.CharField(blank=True, default='', max_length=128)),
                ('location',
                 django.contrib.gis.db.models.fields.PointField(blank=True,
                                                                null=True,
                                                                srid=4326)),
                ('size_bytes', models.IntegerField(db_index=True, default=0)),
                ('content',
                 models.FileField(db_index=True,
                                  max_length=1024,
                                  unique=True,
                                  upload_to=backend.models._get_upload_path)),
                ('content_sha',
                 models.CharField(blank=True,
                                  db_index=True,
                                  default='',
                                  editable=False,
                                  max_length=64)),
                ('start',
                 models.DateTimeField(blank=True,
                                      db_index=True,
                                      help_text='For Time-Series Files',
                                      null=True)),
                ('end',
                 models.DateTimeField(blank=True,
                                      db_index=True,
                                      help_text='For Time-Series Files',
                                      null=True)),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      help_text='DB Insertion Time')),
                ('modified',
                 models.DateTimeField(auto_now=True,
                                      help_text='DB Modification Time')),
                ('columns',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True,
                                                                null=True)),
                ('processor_metadata',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True,
                                                                null=True)),
                ('related_files',
                 models.ManyToManyField(
                     blank=True,
                     related_name='_storedfile_related_files_+',
                     to='backend.StoredFile')),
            ],
        ),
        migrations.CreateModel(
            name='Tag',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(db_index=True, max_length=64, unique=True)),
            ],
        ),
        migrations.AddField(
            model_name='storedfile',
            name='tags',
            field=models.ManyToManyField(blank=True, to='backend.Tag'),
        ),
        migrations.AddField(
            model_name='storedfile',
            name='user',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('backend', '0002_auto_20181013_1502'),
    ]

    operations = [
        migrations.AddField(
            model_name='event',
            name='date',
            field=models.DateTimeField(
                default=backend.models.one_day_from_now),
        ),
        migrations.AddField(
            model_name='event',
            name='name',
            field=models.CharField(default='', max_length=100),
        ),
        migrations.AddField(
            model_name='event',
            name='owner',
            field=models.ForeignKey(
                default=None,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='event',
                to=settings.AUTH_USER_MODEL),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='languageconfig',
            name='lang',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='backend.Language'),
        ),
        migrations.AddField(
            model_name='languageconfig',
            name='owner',
            field=models.ForeignKey(
                default=None,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='language_config',
                to=settings.AUTH_USER_MODEL),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='languageconfig',
            name='welcome',
            field=models.TextField(default=None),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='post',
            name='owner',
            field=models.ForeignKey(
                default=None,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='post',
                to=settings.AUTH_USER_MODEL),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='post',
            name='text',
            field=models.TextField(default=None),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='post',
            name='title',
            field=models.CharField(default=None, max_length=300),
            preserve_default=False,
        ),
    ]
예제 #26
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(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_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
                ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
                ('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')),
                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Automobile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('auto_type', models.CharField(choices=[('S', 'SEDAN'), ('T', 'TRUCK'), ('M', 'MOTORCYCLE'), ('U', 'UNKNOWN')], default='U', max_length=2)),
            ],
        ),
        migrations.CreateModel(
            name='Customer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('city', models.CharField(blank=True, max_length=1023, null=True, verbose_name='City')),
                ('country', django_countries.fields.CountryField(blank=True, max_length=2, null=True)),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Lead',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('author', models.CharField(max_length=100)),
                ('message', models.CharField(max_length=300)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='ServiceProvider',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('payment', models.CharField(max_length=100)),
                ('city', models.CharField(blank=True, max_length=1023, null=True, verbose_name='City')),
                ('country', django_countries.fields.CountryField(blank=True, max_length=2, null=True)),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Shop',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('shop_name', models.CharField(max_length=50, unique=True)),
                ('membership', models.CharField(choices=[('P', 'Premium'), ('B', 'Basic'), ('F', 'Free')], default='F', max_length=2)),
                ('longitude', models.DecimalField(decimal_places=6, default=-76.585664, max_digits=9)),
                ('latitude', models.DecimalField(decimal_places=6, default=2.449903, max_digits=9)),
                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='my_shops', to='backend.serviceprovider')),
            ],
        ),
        migrations.CreateModel(
            name='ShopService',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('price', models.DecimalField(decimal_places=0, max_digits=10, verbose_name='Service Price')),
                ('services', multiselectfield.db.fields.MultiSelectField(choices=[('OC', 'OIL CHANGE'), ('OFC', 'FILTER CHANGE'), ('AIF', 'AIR_FILTER_CHANGE'), ('WB', 'WIPER BLADE REPLACEMENT'), ('TR', 'TIRE FIXING'), ('PW', 'PAINT WORK'), ('TA', 'PROFESSIONAL TECHNICAL ASSISTANCE'), ('MA', 'SCHEDULED MAINTENANCE'), ('CW', 'CAR WASHING'), ('BW', 'BRAKE WORK'), ('ETU', 'ENGINE TUNE UP'), ('WW', 'WHEELS ALIGNED/BALANCED'), ('NN', 'NO SERVICE LISTED')], default='NN', max_length=41)),
                ('description', models.CharField(default='', max_length=250)),
                ('provider', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shop_services', to='backend.shop')),
                ('target_automobile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='related_services', to='backend.automobile')),
            ],
        ),
        migrations.CreateModel(
            name='ServiceCoverage',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('coverage', models.CharField(choices=[('OC', 'OIL CHANGE'), ('OFC', 'FILTER CHANGE'), ('AIF', 'AIR_FILTER_CHANGE'), ('WB', 'WIPER BLADE REPLACEMENT'), ('TR', 'TIRE FIXING'), ('PW', 'PAINT WORK'), ('TA', 'PROFESSIONAL TECHNICAL ASSISTANCE'), ('MA', 'SCHEDULED MAINTENANCE'), ('CW', 'CAR WASHING'), ('BW', 'BRAKE WORK'), ('ETU', 'ENGINE TUNE UP'), ('WW', 'WHEELS ALIGNED/BALANCED'), ('NN', 'NO SERVICE LISTED')], default='NN', max_length=3)),
                ('shop_offer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='available_services', to='backend.shopservice')),
            ],
        ),
        migrations.CreateModel(
            name='CustomerPublication',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('description', models.CharField(max_length=100)),
                ('longitude', models.DecimalField(decimal_places=6, default=-76.606422, max_digits=9)),
                ('latitude', models.DecimalField(decimal_places=6, default=2.44165, max_digits=9)),
                ('photo', models.ImageField(default=backend.models.get_random_name, upload_to='images/publication_images', verbose_name='Optional Image')),
                ('publisher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='service_inquiry', to='backend.customer')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    replaces = [('backend', '0035_auto_20201212_1810'),
                ('backend', '0036_auto_20201212_1826'),
                ('backend', '0037_auto_20201212_1831'),
                ('backend', '0038_auto_20201212_1831'),
                ('backend', '0039_auto_20201212_1831'),
                ('backend', '0040_auto_20201212_1840'),
                ('backend', '0041_userinformation_avatar'),
                ('backend', '0042_auto_20201212_1847'),
                ('backend', '0043_auto_20201212_2057'),
                ('backend', '0044_verifiedemail_user'),
                ('backend', '0045_remove_userinformation_emails'),
                ('backend', '0046_auto_20201212_2126'),
                ('backend', '0047_auto_20201212_2127'),
                ('backend', '0048_auto_20201212_2151'),
                ('backend', '0049_populate_emails'),
                ('backend', '0050_auto_20201212_2211'),
                ('backend', '0051_auto_20201212_2258'),
                ('backend', '0052_auto_20201212_2327'),
                ('backend', '0053_auto_20201212_2341'),
                ('backend', '0054_auto_20201212_2343'),
                ('backend', '0055_auto_20201213_0022'),
                ('backend', '0056_auto_20201213_0041'),
                ('backend', '0057_auto_20201213_0125'),
                ('backend', '0058_auto_20201213_0126'),
                ('backend', '0059_verifiableemail_domain')]

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('backend', '0034_auto_20201203_1151'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='userpreferences',
            name='description',
        ),
        migrations.CreateModel(
            name='Expertise',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(help_text='Expertise description',
                                  max_length=100)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='ExpertiseKeyword',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(help_text='Expertise keyword description',
                                  max_length=100)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='UserInformation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title',
                 models.TextField(blank=True,
                                  help_text='Your position',
                                  null=True)),
                ('bio',
                 models.TextField(
                     blank=True,
                     help_text='Self-description (degree, biography, ...)',
                     null=True)),
                ('comment_anonymously',
                 models.BooleanField(
                     default=False,
                     help_text='Comment anonymously by-default')),
                ('show_online_presence',
                 models.BooleanField(
                     default=False,
                     help_text='Show my online presence on Tournesol')),
                ('birth_year',
                 models.IntegerField(
                     blank=True,
                     help_text='Year of birth',
                     null=True,
                     validators=[
                         django.core.validators.MinValueValidator(1900),
                         django.core.validators.MaxValueValidator(2100)
                     ])),
                ('gender',
                 models.CharField(blank=True,
                                  help_text='Your gender',
                                  max_length=50,
                                  null=True)),
                ('nationality',
                 models.CharField(blank=True,
                                  help_text='Your nationality',
                                  max_length=50,
                                  null=True)),
                ('race',
                 models.CharField(blank=True,
                                  help_text='Your race',
                                  max_length=50,
                                  null=True)),
                ('political_affiliation',
                 models.CharField(blank=True,
                                  help_text='Your political affiliation',
                                  max_length=50,
                                  null=True)),
                ('religion',
                 models.CharField(blank=True,
                                  help_text='Your religion',
                                  max_length=50,
                                  null=True)),
                ('degree_of_political_engagement',
                 models.CharField(
                     blank=True,
                     help_text='Your degree of political engagement',
                     max_length=50,
                     null=True)),
                ('user',
                 models.OneToOneField(
                     help_text='DjangoUser that the info belong to',
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
                ('expertises',
                 models.ManyToManyField(blank=True,
                                        help_text='Your expertise.',
                                        related_name='expertises',
                                        to='backend.Expertise')),
                ('expertise_keywords',
                 models.ManyToManyField(blank=True,
                                        help_text='Your expertise keywords.',
                                        related_name='expertise_keywords',
                                        to='backend.ExpertiseKeyword')),
                ('first_name',
                 models.CharField(blank=True,
                                  help_text='First name',
                                  max_length=100,
                                  null=True)),
                ('google_scholar',
                 models.URLField(blank=True,
                                 help_text='Your Google Scholar URL',
                                 max_length=500,
                                 null=True)),
                ('last_name',
                 models.CharField(blank=True,
                                  help_text='Last name',
                                  max_length=100,
                                  null=True)),
                ('linkedin',
                 models.URLField(blank=True,
                                 help_text='Your LinkedIn URL',
                                 max_length=500,
                                 null=True)),
                ('orcid',
                 models.URLField(blank=True,
                                 help_text='Your ORCID',
                                 max_length=500,
                                 null=True)),
                ('twitter',
                 models.URLField(blank=True,
                                 help_text='Your Twitter handle',
                                 max_length=500,
                                 null=True)),
                ('website',
                 models.URLField(blank=True,
                                 help_text='Your website URL',
                                 max_length=500,
                                 null=True)),
                ('youtube',
                 models.URLField(blank=True,
                                 help_text='Your Youtube channel URL',
                                 max_length=500,
                                 null=True)),
                ('avatar',
                 models.ImageField(
                     blank=True,
                     help_text='Your profile picture.',
                     upload_to='profiles',
                     validators=[
                         backend.models.UserInformation.validate_avatar
                     ])),
            ],
        ),
        migrations.CreateModel(
            name='Degree',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('level',
                 models.CharField(help_text='Degree level', max_length=100)),
                ('domain',
                 models.CharField(help_text='Degree domain', max_length=100)),
                ('institution',
                 models.CharField(help_text='Degree institution',
                                  max_length=100)),
                ('user',
                 models.ForeignKey(
                     help_text='User that the degree belongs to.',
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     to='backend.UserInformation')),
            ],
            options={
                'ordering': ['level', 'domain', 'institution'],
            },
        ),
        migrations.CreateModel(
            name='VerifiableEmail',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('email',
                 models.EmailField(help_text='E-mail address',
                                   max_length=100,
                                   unique=True)),
                ('is_verified',
                 models.BooleanField(
                     default=False,
                     help_text='If true, this e-mail is verified')),
                ('token',
                 models.CharField(
                     blank=True,
                     help_text=
                     'The token that needs to be supplied to verify this e-mail address',
                     max_length=1000,
                     null=True)),
                ('user',
                 models.ForeignKey(
                     help_text='User that this e-mail belongs to',
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     to='backend.UserInformation')),
            ],
        ),
        migrations.AlterField(
            model_name='verifiableemail',
            name='user',
            field=models.ForeignKey(
                default=None,
                help_text='User that this e-mail belongs to',
                on_delete=django.db.models.deletion.CASCADE,
                to='backend.UserInformation'),
            preserve_default=False,
        ),
        migrations.AlterField(
            model_name='degree',
            name='user',
            field=models.ForeignKey(
                help_text='User that the degree belongs to.',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='degrees',
                to='backend.UserInformation'),
        ),
        migrations.AlterField(
            model_name='verifiableemail',
            name='user',
            field=models.ForeignKey(
                help_text='User that this e-mail belongs to',
                on_delete=django.db.models.deletion.CASCADE,
                related_name='emails',
                to='backend.UserInformation'),
        ),
        migrations.AlterField(
            model_name='expertise',
            name='name',
            field=models.CharField(help_text='Expertise description',
                                   max_length=100,
                                   unique=True),
        ),
        migrations.AlterField(
            model_name='expertisekeyword',
            name='name',
            field=models.CharField(help_text='Expertise keyword description',
                                   max_length=100,
                                   unique=True),
        ),
        migrations.AlterField(
            model_name='userinformation',
            name='avatar',
            field=models.ImageField(
                blank=True,
                help_text='Your profile picture.',
                null=True,
                upload_to='profiles',
                validators=[backend.models.UserInformation.validate_avatar]),
        ),
        migrations.AlterUniqueTogether(
            name='degree',
            unique_together={('level', 'domain', 'institution', 'user')},
        ),
        migrations.RemoveField(
            model_name='userinformation',
            name='expertise_keywords',
        ),
        migrations.RemoveField(
            model_name='userinformation',
            name='expertises',
        ),
        migrations.AddField(
            model_name='expertise',
            name='user',
            field=models.ForeignKey(
                help_text='User for the expertise',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='expertises',
                to='backend.UserInformation'),
        ),
        migrations.AddField(
            model_name='expertisekeyword',
            name='user',
            field=models.ForeignKey(
                help_text='User for the expertise keywords',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='expertise_keywords',
                to='backend.UserInformation'),
        ),
        migrations.AlterField(
            model_name='expertise',
            name='name',
            field=models.CharField(help_text='Expertise description',
                                   max_length=100),
        ),
        migrations.AlterField(
            model_name='expertisekeyword',
            name='name',
            field=models.CharField(help_text='Expertise keyword description',
                                   max_length=100),
        ),
        migrations.AlterUniqueTogether(
            name='expertise',
            unique_together={('name', 'user')},
        ),
        migrations.AlterUniqueTogether(
            name='expertisekeyword',
            unique_together={('name', 'user')},
        ),
        migrations.AlterModelOptions(
            name='degree',
            options={'ordering': ['rank', 'level', 'domain', 'institution']},
        ),
        migrations.AlterModelOptions(
            name='expertise',
            options={'ordering': ['rank', 'name']},
        ),
        migrations.AlterModelOptions(
            name='expertisekeyword',
            options={'ordering': ['rank', 'name']},
        ),
        migrations.AlterModelOptions(
            name='verifiableemail',
            options={'ordering': ['rank']},
        ),
        migrations.AddField(
            model_name='degree',
            name='rank',
            field=models.IntegerField(default=0, help_text='Ordering field'),
        ),
        migrations.AddField(
            model_name='expertise',
            name='rank',
            field=models.IntegerField(default=0, help_text='Ordering field'),
        ),
        migrations.AddField(
            model_name='expertisekeyword',
            name='rank',
            field=models.IntegerField(default=0, help_text='Ordering field'),
        ),
        migrations.AddField(
            model_name='verifiableemail',
            name='rank',
            field=models.IntegerField(default=0, help_text='Ordering field'),
        ),
        migrations.AlterField(
            model_name='verifiableemail',
            name='email',
            field=models.EmailField(help_text='E-mail address',
                                    max_length=100),
        ),
        migrations.AlterUniqueTogether(
            name='verifiableemail',
            unique_together={('email', 'user')},
        ),
        migrations.AlterField(
            model_name='verifiableemail',
            name='user',
            field=models.ForeignKey(
                help_text='User that this e-mail belongs to',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='emails',
                to='backend.UserInformation'),
        ),
        migrations.AddField(
            model_name='verifiableemail',
            name='domain',
            field=computed_property.fields.ComputedCharField(
                compute_from='email_domain',
                default=uuid.uuid1,
                editable=False,
                help_text='Email domain with @',
                max_length=50),
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(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_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('company',
                 models.CharField(blank=True,
                                  max_length=40,
                                  verbose_name='Компания')),
                ('position',
                 models.CharField(blank=True,
                                  max_length=40,
                                  verbose_name='Должность')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('is_active',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('type',
                 models.CharField(choices=[('shop', 'Магазин'),
                                           ('buyer', 'Покупатель')],
                                  default='buyer',
                                  max_length=5,
                                  verbose_name='Тип пользователя')),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'Пользователь',
                'verbose_name_plural': 'Список пользователей',
                'ordering': ('email', ),
            },
            managers=[
                ('objects', backend.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=32, verbose_name='название')),
            ],
            options={
                'verbose_name': 'категория',
                'verbose_name_plural': 'список категорий',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('city', models.CharField(max_length=32,
                                          verbose_name='город')),
                ('street', models.CharField(max_length=64,
                                            verbose_name='улица')),
                ('house',
                 models.CharField(blank=True,
                                  max_length=16,
                                  verbose_name='дом')),
                ('building',
                 models.CharField(blank=True,
                                  max_length=16,
                                  verbose_name='строение')),
                ('apartment',
                 models.CharField(blank=True,
                                  max_length=16,
                                  verbose_name='квартира')),
                ('phone',
                 models.CharField(max_length=32, verbose_name='телефон')),
                ('user',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='contacts',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='пользователь')),
            ],
            options={
                'verbose_name': 'контактные данные пользователя',
                'verbose_name_plural': 'контактные данные пользователя',
            },
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('dt',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='дата создания')),
                ('state',
                 models.CharField(choices=[('basket', 'Статус корзины'),
                                           ('new', 'Новый'),
                                           ('confirmed', 'Подтвержден'),
                                           ('assembled', 'Собран'),
                                           ('sent', 'Отправлен'),
                                           ('delivered', 'Доставлен'),
                                           ('canceled', 'Отменен')],
                                  max_length=16,
                                  verbose_name='статус')),
                ('contact',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='backend.contact',
                                   verbose_name='контактные данные')),
                ('user',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='orders',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='пользователь')),
            ],
            options={
                'verbose_name': 'заказ',
                'verbose_name_plural': 'список заказов',
                'ordering': ('-dt', ),
            },
        ),
        migrations.CreateModel(
            name='Parameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=32, verbose_name='название')),
            ],
            options={
                'verbose_name': 'имя параметра',
                'verbose_name_plural': 'список имён параметров',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=64, verbose_name='название')),
                ('category',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='products',
                                   to='backend.category',
                                   verbose_name='категория')),
            ],
            options={
                'verbose_name': 'продукт',
                'verbose_name_plural': 'список продуктов',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='ProductInfo',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('model',
                 models.CharField(blank=True,
                                  max_length=64,
                                  verbose_name='модель')),
                ('external_id',
                 models.PositiveIntegerField(verbose_name='внешний ID')),
                ('quantity',
                 models.PositiveIntegerField(verbose_name='количество')),
                ('price', models.PositiveIntegerField(verbose_name='цена')),
                ('price_rrc',
                 models.PositiveIntegerField(
                     verbose_name='рекомендуемая розничная цена')),
                ('product',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_infos',
                                   to='backend.product',
                                   verbose_name='продукт')),
            ],
            options={
                'verbose_name': 'информация о продукте',
                'verbose_name_plural': 'свод информации о продуктах',
            },
        ),
        migrations.CreateModel(
            name='Shop',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(max_length=32, verbose_name='название')),
                ('url',
                 models.URLField(blank=True, null=True,
                                 verbose_name='ссылка')),
                ('state',
                 models.BooleanField(default=True,
                                     verbose_name='статус получения заказов')),
                ('user',
                 models.OneToOneField(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL,
                     verbose_name='пользователь')),
            ],
            options={
                'verbose_name': 'магазин',
                'verbose_name_plural': 'список магазинов',
                'ordering': ('-name', ),
            },
        ),
        migrations.CreateModel(
            name='ProductParameter',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('value',
                 models.CharField(max_length=128, verbose_name='значение')),
                ('parameter',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_parameters',
                                   to='backend.parameter',
                                   verbose_name='параметр')),
                ('product_info',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='product_parameters',
                                   to='backend.productinfo',
                                   verbose_name='информация о продукте')),
            ],
            options={
                'verbose_name': 'параметр',
                'verbose_name_plural': 'список параметров',
            },
        ),
        migrations.AddField(
            model_name='productinfo',
            name='shop',
            field=models.ForeignKey(
                blank=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='product_infos',
                to='backend.shop',
                verbose_name='магазин'),
        ),
        migrations.CreateModel(
            name='OrderItem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('quantity',
                 models.PositiveIntegerField(verbose_name='количество')),
                ('order',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='ordered_items',
                                   to='backend.order',
                                   verbose_name='заказ')),
                ('product_info',
                 models.ForeignKey(blank=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='ordered_items',
                                   to='backend.productinfo',
                                   verbose_name='информация о продукте')),
            ],
            options={
                'verbose_name': 'заказанная позиция',
                'verbose_name_plural': 'список заказанных позиций',
            },
        ),
        migrations.CreateModel(
            name='ConfirmEmailToken',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created_at',
                 models.DateTimeField(
                     auto_now_add=True,
                     verbose_name='Когда этот токен был создан')),
                ('key',
                 models.CharField(db_index=True,
                                  max_length=64,
                                  unique=True,
                                  verbose_name='Key')),
                ('user',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='confirm_email_tokens',
                     to=settings.AUTH_USER_MODEL,
                     verbose_name=
                     'пользователь, связанный с данным токеном смены пароля')),
            ],
            options={
                'verbose_name': 'Токен подтверждения почты',
                'verbose_name_plural': 'Токены подтверждения почты',
            },
        ),
        migrations.AddField(
            model_name='category',
            name='shops',
            field=models.ManyToManyField(blank=True,
                                         related_name='categories',
                                         to='backend.Shop',
                                         verbose_name='магазины'),
        ),
        migrations.AddConstraint(
            model_name='productparameter',
            constraint=models.UniqueConstraint(
                fields=('product_info', 'parameter'),
                name='unique_product_parameter'),
        ),
        migrations.AddConstraint(
            model_name='productinfo',
            constraint=models.UniqueConstraint(fields=('product', 'shop',
                                                       'external_id'),
                                               name='unique_product_info'),
        ),
        migrations.AddConstraint(
            model_name='orderitem',
            constraint=models.UniqueConstraint(fields=('order_id',
                                                       'product_info'),
                                               name='unique_order_item'),
        ),
    ]
예제 #29
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='StatisticsModel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True)),
                ('ip_address', models.GenericIPAddressField(editable=False)),
                ('http_referer',
                 models.URLField(blank=True, editable=False, null=True)),
            ],
            options={
                'verbose_name': 'unique url statistic',
                'db_table': 'short_url_statistics',
            },
        ),
        migrations.CreateModel(
            name='URLShortenerModel',
            fields=[
                ('unique_url_id',
                 models.CharField(default=backend.models.URLShortenerModel.
                                  create_unique_url_id,
                                  editable=False,
                                  max_length=8,
                                  primary_key=True,
                                  serialize=False)),
                ('expiration_datetime',
                 models.DateTimeField(default=backend.models.URLShortenerModel.
                                      generate_expiration_datetime)),
                ('original_url',
                 models.URLField(validators=[
                     django.core.validators.URLValidator(
                         schemes=['http', 'https'])
                 ])),
                ('access_limit',
                 models.PositiveSmallIntegerField(blank=True, null=True)),
                ('access_counter',
                 models.PositiveSmallIntegerField(default=0, editable=False)),
                ('is_active', models.BooleanField(default=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'verbose_name': 'unique url',
                'db_table': 'short_urls',
            },
        ),
        migrations.AddIndex(
            model_name='urlshortenermodel',
            index=models.Index(fields=['unique_url_id'],
                               name='short_urls_unique__c8a1a1_idx'),
        ),
        migrations.AddField(
            model_name='statisticsmodel',
            name='unique_url',
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.CASCADE,
                to='backend.urlshortenermodel'),
        ),
        migrations.AddIndex(
            model_name='statisticsmodel',
            index=models.Index(fields=['unique_url'],
                               name='short_url_s_unique__06a083_idx'),
        ),
    ]
예제 #30
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='ClickStatisticModel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True)),
                ('ip_address', models.GenericIPAddressField(editable=False)),
                ('http_referer',
                 models.URLField(blank=True, editable=False, null=True)),
            ],
            options={
                'verbose_name': 'short url statistic',
                'db_table': 'vilantis_short_url_click_statistics',
            },
        ),
        migrations.CreateModel(
            name='ShortURLModel',
            fields=[
                ('short_url_id',
                 models.CharField(default=backend.models.ShortURLModel.
                                  generate_short_url_id,
                                  editable=False,
                                  max_length=8,
                                  primary_key=True,
                                  serialize=False)),
                ('expiration_datetime',
                 models.DateTimeField(default=backend.models.ShortURLModel.
                                      generate_expiration_datetime)),
                ('long_url', models.URLField()),
                ('access_limit',
                 models.PositiveSmallIntegerField(default=100)),
                ('access_counter',
                 models.PositiveSmallIntegerField(default=0, editable=False)),
                ('is_active', models.BooleanField(default=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'verbose_name': 'short url',
                'db_table': 'vilantis_short_urls',
            },
        ),
        migrations.AddIndex(
            model_name='shorturlmodel',
            index=models.Index(fields=['short_url_id'],
                               name='vilantis_sh_short_u_7e003a_idx'),
        ),
        migrations.AddField(
            model_name='clickstatisticmodel',
            name='short_url',
            field=models.ForeignKey(
                editable=False,
                on_delete=django.db.models.deletion.CASCADE,
                to='backend.shorturlmodel'),
        ),
        migrations.AddIndex(
            model_name='clickstatisticmodel',
            index=models.Index(fields=['short_url'],
                               name='vilantis_sh_short_u_86a83a_idx'),
        ),
    ]