class Migration(migrations.Migration): dependencies = [ ('store', '0001_initial'), ] operations = [ migrations.AlterModelOptions( name='category', options={ 'ordering': ['title'], 'verbose_name_plural': 'Categories' }, ), migrations.AlterField( model_name='category', name='slug', field=models.SlugField(blank=True, max_length=250), ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255)), ('slug', models.SlugField(max_length=255)), ('description', models.TextField()), ('price', models.FloatField()), ('category', models.ForeignKey( on_delete=django.db.models.deletion.DO_NOTHING, related_name='product', to='store.category')), ], bases=(apps.core.models.BaseModel, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='CosplayPost', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=100, verbose_name='Наименование поста')), ('slug', models.SlugField(blank=True, max_length=200)), ('description', models.CharField(blank=True, max_length=9999, verbose_name='Описание')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Создан')), ], options={ 'verbose_name': 'Пост', 'verbose_name_plural': 'Посты', 'ordering': ('id', ), }, ), migrations.CreateModel( name='CosplayRubric', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=50, verbose_name='Наименование темы')), ('slug', models.SlugField(blank=True, max_length=200)), ], options={ 'verbose_name': 'Рубрика', 'verbose_name_plural': 'Рубрики', 'ordering': ('id', ), }, ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=50, verbose_name='Наименование изображения')), ('slug', models.SlugField(blank=True, max_length=200)), ('image', easy_thumbnails.fields.ThumbnailerImageField( blank=True, upload_to=apps.core.models.upload_path_image, verbose_name='Изображение')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Создан')), ('likes', models.ManyToManyField(related_name='likes', to=settings.AUTH_USER_MODEL)), ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.cosplaypost')), ('rubric', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='core.cosplayrubric')), ], options={ 'verbose_name': 'Изображение', 'verbose_name_plural': 'изображения', 'ordering': ('id', ), }, ), migrations.CreateModel( name='Models', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=30, verbose_name='Имя')), ('image', easy_thumbnails.fields.ThumbnailerImageField( blank=True, upload_to=apps.core.models.upload_path_model_photo, verbose_name='Фото')), ('slug', models.SlugField(blank=True, max_length=200)), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Создан')), ('stars', models.ManyToManyField(related_name='stars', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Модель', 'verbose_name_plural': 'Модели', 'ordering': ('id', ), }, ), migrations.CreateModel( name='ImageComment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.CharField(blank=True, max_length=500, verbose_name='Текст комментария')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Создан')), ('updated', models.BooleanField(default=False)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='core.image')), ], options={ 'verbose_name': 'Комментарий', 'verbose_name_plural': 'Комментарии', 'ordering': ('id', ), }, ), migrations.AddField( model_name='cosplaypost', name='model', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='models', to='core.models'), ), migrations.AddField( model_name='cosplaypost', name='rubric', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='rubrics', to='core.cosplayrubric'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='BaseUser', fields=[ ('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')), ('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')), ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('email', models.EmailField(max_length=100, null=True, unique=True)), ('username', models.CharField(max_length=100, unique=True)), ('user_type', models.CharField(choices=[('normal', 'normal'), ('admin', 'admin')], default='normal', max_length=100)), ('slug', models.SlugField(unique=True)), ('photo', models.URLField(blank=True, default='', null=True)), ('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', }, ), migrations.CreateModel( name='BaseUserProfile', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('fullname', models.CharField(blank=True, max_length=20, null=True, verbose_name='Fullname')), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Profile', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Competition', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('name', models.CharField(default='OyuSec', max_length=100, verbose_name='Name')), ('description', models.TextField(default='CTF', verbose_name='Description')), ('status', models.CharField(choices=[('coming', 'coming'), ('archive', 'archive'), ('live', 'live')], default='coming', max_length=100, verbose_name='Status')), ('slug', models.SlugField(unique=True)), ('photo', models.URLField( blank=True, default= 'https://github.com/OyuTech/Utils/blob/main/oyusec/oyusec.png', null=True)), ('rule', models.TextField(default='')), ('prize', models.TextField()), ('location', models.CharField(default='онлайн', max_length=100, verbose_name='Location')), ('enrollment', models.CharField(choices=[('solo', 'solo'), ('team', 'team')], default='solo', max_length=100, verbose_name='Enrollment')), ('start_date', models.DateTimeField(blank=True)), ('end_date', models.DateTimeField(blank=True)), ('weight', models.FloatField(default=20.0, verbose_name='Weight')), ], options={ 'verbose_name': 'Competition', }, ), migrations.CreateModel( name='CompetitionUser', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('score', models.PositiveIntegerField(default=0.0, verbose_name='Score')), ('rating', models.FloatField(default=0.0, verbose_name='Rating')), ('place', models.PositiveIntegerField(default=0, verbose_name='Place')), ('competition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='competition.competition')), ], options={ 'verbose_name': 'Competition User', }, ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('accounts', '0006_permissions_removed'), ] operations = [ migrations.CreateModel( name='AdditionalField', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('key', models.SlugField()), ('type', models.CharField(choices=[('text', 'Text'), ('textarea', 'Textarea')], max_length=11)), ('text_en', models.CharField(max_length=256)), ('text_de', models.CharField(max_length=256)), ('help_en', models.TextField( blank=True, help_text= 'Enter a help text to be displayed next to the input element', null=True)), ('help_de', models.TextField( blank=True, help_text= 'Enter a help text to be displayed next to the input element', null=True)), ('required', models.BooleanField()), ], options={ 'ordering': ('key', ), 'verbose_name': 'Additional field', 'verbose_name_plural': 'Additional fields', }, bases=(models.Model, apps.core.models.TranslationMixin), ), migrations.CreateModel( name='AdditionalFieldValue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('value', models.CharField(max_length=256)), ('field', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='accounts.AdditionalField')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='additional_fields', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('user', 'field'), 'verbose_name': 'Additional field value', 'verbose_name_plural': 'Additional field values', }, ), migrations.DeleteModel(name='DetailKey', ), migrations.RemoveField( model_name='profile', name='user', ), migrations.DeleteModel(name='Profile', ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('order', '0001_initial'), ] operations = [ migrations.CreateModel( name='AssignedProductAttribute', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], ), migrations.CreateModel( name='AssignedVariantAttribute', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], ), migrations.CreateModel( name='Attribute', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('slug', models.SlugField(max_length=250, unique=True)), ('name', models.CharField(max_length=255)), ('input_type', models.CharField(choices=[('dropdown', 'Dropdown'), ('multiselect', 'Multi Select')], default='dropdown', max_length=50)), ('value_required', models.BooleanField(blank=True, default=False)), ('is_variant_only', models.BooleanField(blank=True, default=False)), ('visible_in_storefront', models.BooleanField(blank=True, default=True)), ('filterable_in_storefront', models.BooleanField(blank=True, default=True)), ('filterable_in_dashboard', models.BooleanField(blank=True, default=True)), ('storefront_search_position', models.IntegerField(blank=True, default=0)), ('available_in_grid', models.BooleanField(blank=True, default=True)), ], options={ 'ordering': ('storefront_search_position', 'slug'), }, ), migrations.CreateModel( name='AttributeValue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_order', models.IntegerField(db_index=True, editable=False, null=True)), ('name', models.CharField(max_length=250)), ('value', models.CharField(blank=True, default='', max_length=100)), ('slug', models.SlugField(max_length=255)), ('attribute', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='values', to='product.attribute')), ], options={ 'ordering': ('sort_order', 'id'), 'unique_together': {('slug', 'attribute')}, }, ), migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('name', models.CharField(max_length=250)), ('slug', models.SlugField(max_length=255, unique=True)), ('description', models.TextField(blank=True)), ('description_json', models.JSONField(blank=True, default=dict)), ('background_image', versatileimagefield.fields.VersatileImageField( blank=True, null=True, upload_to='category-backgrounds')), ('background_image_alt', models.CharField(blank=True, max_length=128)), ('lft', models.PositiveIntegerField(editable=False)), ('rght', models.PositiveIntegerField(editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(editable=False)), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='product.category')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Collection', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('publication_date', models.DateField(blank=True, null=True)), ('is_published', models.BooleanField(default=False)), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('name', models.CharField(max_length=250, unique=True)), ('slug', models.SlugField(max_length=255, unique=True)), ('background_image', versatileimagefield.fields.VersatileImageField( blank=True, null=True, upload_to='collection-backgrounds')), ('background_image_alt', models.CharField(blank=True, max_length=128)), ('description', models.TextField(blank=True)), ('description_json', models.JSONField(blank=True, default=dict)), ], options={ 'ordering': ('slug', ), }, ), migrations.CreateModel( name='DigitalContent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('use_default_settings', models.BooleanField(default=True)), ('automatic_fulfillment', models.BooleanField(default=False)), ('content_type', models.CharField(choices=[('file', 'digital_product')], default='file', max_length=128)), ('content_file', models.FileField(blank=True, upload_to='digital_contents')), ('max_downloads', models.IntegerField(blank=True, null=True)), ('url_valid_days', models.IntegerField(blank=True, null=True)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('publication_date', models.DateField(blank=True, null=True)), ('is_published', models.BooleanField(default=False)), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('name', models.CharField(max_length=250)), ('slug', models.SlugField(max_length=255, unique=True)), ('description', models.TextField(blank=True)), ('description_json', apps.core.models.SanitizedJSONField( blank=True, default=dict, sanitizer=draftjs_sanitizer.clean_draft_js)), ('price_amount', models.DecimalField(decimal_places=2, max_digits=12)), ('minimal_variant_price_amount', models.DecimalField(decimal_places=2, max_digits=12)), ('updated_at', models.DateTimeField(auto_now=True, null=True)), ('charge_taxes', models.BooleanField(default=True)), ('category', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='products', to='product.category')), ], options={ 'ordering': ('name', ), 'permissions': (('manage_products', 'Manage products.'), ), }, ), migrations.CreateModel( name='ProductImage', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_order', models.IntegerField(db_index=True, editable=False, null=True)), ('image', versatileimagefield.fields.VersatileImageField( upload_to='products')), ('ppoi', versatileimagefield.fields.PPOIField(default='0.5x0.5', editable=False, max_length=20)), ('alt', models.CharField(blank=True, max_length=128)), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='images', to='product.product')), ], options={ 'ordering': ('sort_order', ), }, ), migrations.CreateModel( name='ProductType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('name', models.CharField(max_length=250)), ('slug', models.SlugField(max_length=255, unique=True)), ('has_variants', models.BooleanField(default=True)), ('is_shipping_required', models.BooleanField(default=True)), ('is_digital', models.BooleanField(default=False)), ], options={ 'ordering': ('slug', ), }, ), migrations.CreateModel( name='ProductVariant', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('private_metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('metadata', models.JSONField( blank=True, default=dict, encoder=apps.core.utils.json_serializer.CustomJsonEncoder, null=True)), ('sku', models.CharField(max_length=255, unique=True)), ('name', models.CharField(blank=True, max_length=255)), ('price_override_amount', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True)), ('track_inventory', models.BooleanField(default=True)), ('cost_price_amount', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True)), ], options={ 'ordering': ('sku', ), }, ), migrations.CreateModel( name='VariantImage', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='variant_images', to='product.productimage')), ('variant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='variant_images', to='product.productvariant')), ], ), migrations.AddField( model_name='productvariant', name='images', field=models.ManyToManyField(through='product.VariantImage', to='product.ProductImage'), ), migrations.AddField( model_name='productvariant', name='product', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='variants', to='product.product'), ), migrations.AddField( model_name='product', name='product_type', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='products', to='product.producttype'), ), migrations.CreateModel( name='DigitalContentUrl', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('token', models.UUIDField(editable=False, unique=True)), ('created', models.DateTimeField(auto_now_add=True)), ('download_num', models.IntegerField(default=0)), ('content', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='urls', to='product.digitalcontent')), ('line', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='digital_content_url', to='order.orderline')), ], ), migrations.AddField( model_name='digitalcontent', name='product_variant', field=models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name='digital_content', to='product.productvariant'), ), migrations.CreateModel( name='CollectionProduct', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_order', models.IntegerField(db_index=True, editable=False, null=True)), ('collection', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='collectionproduct', to='product.collection')), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='collectionproduct', to='product.product')), ], options={ 'unique_together': {('collection', 'product')}, }, ), migrations.AddField( model_name='collection', name='products', field=models.ManyToManyField(blank=True, related_name='collections', through='product.CollectionProduct', to='product.Product'), ), migrations.CreateModel( name='AttributeVariant', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_order', models.IntegerField(db_index=True, editable=False, null=True)), ('assigned_variants', models.ManyToManyField( blank=True, related_name='attributesrelated', through='product.AssignedVariantAttribute', to='product.ProductVariant')), ('attribute', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attributevariant', to='product.attribute')), ('product_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attributevariant', to='product.producttype')), ], options={ 'ordering': ('sort_order', ), 'unique_together': {('attribute', 'product_type')}, }, ), migrations.CreateModel( name='AttributeProduct', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sort_order', models.IntegerField(db_index=True, editable=False, null=True)), ('assigned_products', models.ManyToManyField( blank=True, related_name='attributesrelated', through='product.AssignedProductAttribute', to='product.Product')), ('attribute', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attributeproduct', to='product.attribute')), ('product_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attributeproduct', to='product.producttype')), ], options={ 'ordering': ('sort_order', ), 'unique_together': {('attribute', 'product_type')}, }, ), migrations.AddField( model_name='attribute', name='product_types', field=models.ManyToManyField(blank=True, related_name='product_attributes', through='product.AttributeProduct', to='product.ProductType'), ), migrations.AddField( model_name='attribute', name='product_variant_types', field=models.ManyToManyField(blank=True, related_name='variant_attributes', through='product.AttributeVariant', to='product.ProductType'), ), migrations.AddField( model_name='assignedvariantattribute', name='assignment', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='variantassignments', to='product.attributevariant'), ), migrations.AddField( model_name='assignedvariantattribute', name='values', field=models.ManyToManyField(to='product.AttributeValue'), ), migrations.AddField( model_name='assignedvariantattribute', name='variant', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='attributes', to='product.productvariant'), ), migrations.AddField( model_name='assignedproductattribute', name='assignment', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='productassignments', to='product.attributeproduct'), ), migrations.AddField( model_name='assignedproductattribute', name='product', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='attributes', to='product.product'), ), migrations.AddField( model_name='assignedproductattribute', name='values', field=models.ManyToManyField(to='product.AttributeValue'), ), migrations.CreateModel( name='AttributeValueTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(max_length=10)), ('name', models.CharField(max_length=100)), ('attribute_value', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='product.attributevalue')), ], options={ 'unique_together': {('language_code', 'attribute_value')}, }, ), migrations.CreateModel( name='AttributeTranslation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('language_code', models.CharField(max_length=10)), ('name', models.CharField(max_length=100)), ('attribute', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='product.attribute')), ], options={ 'unique_together': {('language_code', 'attribute')}, }, ), migrations.AlterUniqueTogether( name='assignedvariantattribute', unique_together={('variant', 'assignment')}, ), migrations.AlterUniqueTogether( name='assignedproductattribute', unique_together={('product', 'assignment')}, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('data', '0001_initial'), ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='Pixeler', fields=[ ('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=30, 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')), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('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='Analysis', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('description', models.TextField(blank=True, verbose_name='Description')), ('secondary_data', models.FileField(upload_to=apps.core.models.Analysis.secondary_data_upload_to, verbose_name='Secondary data')), ('notebook', models.FileField(blank=True, help_text='Upload your Jupiter Notebook or any other document helping to understand your analysis', upload_to=apps.core.models.Analysis.notebook_upload_to, verbose_name='Notebook')), ('created_at', models.DateTimeField(auto_now_add=True)), ('saved_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Analysis', 'verbose_name_plural': 'Analyses', }, ), migrations.CreateModel( name='Experiment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('description', models.TextField(blank=True, verbose_name='Description')), ('released_at', models.DateField(verbose_name='Release date')), ('created_at', models.DateTimeField(auto_now_add=True)), ('saved_at', models.DateTimeField(auto_now=True)), ('entries', models.ManyToManyField(related_name='experiments', related_query_name='experiment', to='data.Entry')), ], options={ 'verbose_name': 'Experiment', 'verbose_name_plural': 'Experiments', }, ), migrations.CreateModel( name='OmicsArea', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('lft', models.PositiveIntegerField(db_index=True, editable=False)), ('rght', models.PositiveIntegerField(db_index=True, editable=False)), ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), ('level', models.PositiveIntegerField(db_index=True, editable=False)), ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='core.OmicsArea')), ], options={ 'verbose_name': 'Omics area', 'verbose_name_plural': 'Omics areas', }, ), migrations.CreateModel( name='OmicsUnit', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('status', models.PositiveSmallIntegerField(choices=[(1, 'Dubious'), (2, 'Exists'), (3, 'Invalid'), (4, 'Validated')], default=1, verbose_name='Status')), ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.Entry')), ], options={ 'verbose_name': 'Omics Unit', 'verbose_name_plural': 'Omics Units', }, ), migrations.CreateModel( name='OmicsUnitType', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ], options={ 'verbose_name': 'Omics unit type', 'verbose_name_plural': 'Omics unit types', }, ), migrations.CreateModel( name='Pixel', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('value', models.FloatField(help_text='The pixel value', verbose_name='Value')), ('quality_score', models.FloatField(blank=True, help_text='Could be a p-value, confidence index, etc.', null=True, verbose_name='Quality score')), ('analysis', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.Analysis')), ('omics_unit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pixels', related_query_name='pixel', to='core.OmicsUnit')), ], options={ 'verbose_name': 'Pixel', 'verbose_name_plural': 'Pixels', }, ), migrations.CreateModel( name='Species', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('reference', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='species', related_query_name='species', to='data.Entry')), ], options={ 'verbose_name': 'Species', 'verbose_name_plural': 'Species', }, ), migrations.CreateModel( name='Strain', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=100, verbose_name='Name')), ('description', models.TextField(blank=True, verbose_name='Description')), ('species', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='strains', related_query_name='strain', to='core.Species')), ], options={ 'verbose_name': 'Strain', 'verbose_name_plural': 'Strains', }, ), migrations.CreateModel( name='Tag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True)), ('slug', models.SlugField()), ('count', models.IntegerField(default=0, help_text='Internal counter of how many times this tag is in use')), ('protected', models.BooleanField(default=False, help_text='Will not be deleted when the count reaches 0')), ], options={ 'ordering': ('name',), 'abstract': False, }, bases=(tagulous.models.models.BaseTagModel, models.Model), ), migrations.AlterUniqueTogether( name='tag', unique_together=set([('slug',)]), ), migrations.AddField( model_name='omicsunit', name='strain', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.Strain'), ), migrations.AddField( model_name='omicsunit', name='type', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='omics_units', related_query_name='omics_unit', to='core.OmicsUnitType'), ), migrations.AddField( model_name='experiment', name='omics_area', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experiments', related_query_name='experiment', to='core.OmicsArea'), ), migrations.AddField( model_name='experiment', name='tags', field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'), ), migrations.AddField( model_name='analysis', name='experiments', field=models.ManyToManyField(related_name='analyses', related_query_name='analysis', to='core.Experiment'), ), migrations.AddField( model_name='analysis', name='pixeler', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analyses', related_query_name='analysis', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='analysis', name='tags', field=tagulous.models.fields.TagField(_set_tag_meta=True, help_text='Enter a comma-separated tag string', to='core.Tag'), ), migrations.AlterUniqueTogether( name='strain', unique_together=set([('name', 'species')]), ), migrations.AlterUniqueTogether( name='omicsunit', unique_together=set([('reference', 'strain', 'type')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Academy', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), ('description', models.TextField(default='CTF', verbose_name='Description')), ('status', models.CharField(choices=[('coming', 'coming'), ('archive', 'archive'), ('live', 'live')], default='live', max_length=100, verbose_name='Status')), ('slug', models.SlugField(unique=True)), ('photo', models.URLField( blank=True, default= 'https://github.com/OyuTech/Utils/blob/main/oyusec/oyusec.png', null=True)), ('category', models.CharField(choices=[ ('Capture The Flag', 'Capture The Flag'), ('Сүлжээний аюулгүй байдал', 'Сүлжээний аюулгүй байдал'), ('Веб аюулгүй байдал', 'Веб аюулгүй байдал'), ('Аюулгүй кодчилол', 'Аюулгүй кодчилол') ], default='Capture The Flag', max_length=100, verbose_name='Category')), ], options={ 'verbose_name': 'Academy', }, ), migrations.CreateModel( name='AcademyUser', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ], options={ 'verbose_name': 'Academy User', }, ), migrations.CreateModel( name='Section', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('name', models.CharField(max_length=100, verbose_name='Name')), ('content', models.TextField(blank=True, null=True, verbose_name='Content')), ('question', models.CharField(blank=True, max_length=100, null=True, verbose_name='Question')), ('answer', models.CharField(blank=True, max_length=100, null=True, verbose_name='Answer')), ('point', models.PositiveIntegerField(default=0, verbose_name='Point')), ('hint', models.CharField(blank=True, max_length=100, null=True, verbose_name='Hint')), ], options={ 'verbose_name': 'Section', }, ), migrations.CreateModel( name='SectionUser', fields=[ ('uuid', apps.core.models.UUIDField(blank=True, editable=False, max_length=32, primary_key=True, serialize=False, unique=True)), ('created_date', models.DateTimeField(auto_now_add=True, verbose_name='Created date')), ('last_updated_date', models.DateTimeField(auto_now=True, verbose_name='Last updated date')), ('is_completed', models.BooleanField(default=False)), ('section', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='academy.section')), ], options={ 'verbose_name': 'Section User', }, ), ]
class Migration(migrations.Migration): initial = True operations = [ migrations.CreateModel( name='DepositTransaction', fields=[ ('timestamp', models.DateTimeField(auto_now_add=True)), ('dash_address', models.CharField( max_length=35, validators=[apps.core.validators.dash_address_validator ])), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('dash_to_transfer', models.DecimalField(decimal_places=8, max_digits=16)), ('state', models.PositiveSmallIntegerField(choices=[ (1, 'Initiated. Send {dash_to_transfer} DASH to {dash_address}' ), (2, 'Received {dash_to_transfer} DASH. Waiting for {confirmations_number} confirmations' ), (3, 'Confirmed receiving {dash_to_transfer} DASH. Initiated an outgoing transaction' ), (4, 'Transaction is processed. Hash of a Ripple transaction is {outgoing_ripple_transaction_hash}' ), (5, 'Time expired. Transactions to {dash_address} are no longer tracked' ), (6, 'Transaction failed. Please contact our support team'), (7, 'The ripple account {ripple_address} does not trust our gateway. Please set a trust line to {gateway_ripple_address}' ) ], default=1)), ('ripple_address', models.CharField( max_length=35, validators=[ apps.core.validators.ripple_address_validator ])), ('outgoing_ripple_transaction_hash', models.CharField(blank=True, max_length=64)), ], options={ 'abstract': False, }, bases=(models.Model, apps.core.models.TransactionStates), ), migrations.CreateModel( name='DepositTransactionStateChange', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('datetime', models.DateTimeField(auto_now_add=True)), ('current_state', models.CharField(max_length=500)), ('transaction', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state_changes', to='core.DepositTransaction')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='GatewaySettings', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('gateway_fee_percent', models.DecimalField( decimal_places=2, default=0, max_digits=5, validators=[ django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100) ], verbose_name='Gateway fee (percentage)')), ('max_dash_miner_fee', models.DecimalField( decimal_places=8, default=Decimal('0.1'), help_text= 'This value is used to calculate amount that is sent in withdrawal transactions. <b>It should be the same as <code>maxtxfee</code> of your Dash node.</b>', max_digits=16, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Dash - maximal miner fee')), ('dash_required_confirmations', models.PositiveIntegerField( default=6, verbose_name='Dash - minimal confirmations')), ('transaction_expiration_minutes', models.PositiveIntegerField( default=60, verbose_name='Transaction expiration (minutes)')), ], options={ 'verbose_name': 'Gateway Settings', }, ), migrations.CreateModel( name='Page', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('slug', models.SlugField(max_length=300, unique=True)), ('title', models.CharField(max_length=200, verbose_name='Title')), ('description', models.TextField(blank=True, verbose_name='Description')), ], options={ 'ordering': ('-title', ), }, ), migrations.CreateModel( name='RippleWalletCredentials', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('address', models.CharField( max_length=35, validators=[ apps.core.validators.ripple_address_validator ], verbose_name='Address')), ('secret', encrypted_fields.fields.EncryptedCharField( max_length=29, verbose_name='Secret key')), ], options={ 'verbose_name': 'Ripple Wallet Credentials', }, ), migrations.CreateModel( name='WithdrawalTransaction', fields=[ ('timestamp', models.DateTimeField(auto_now_add=True)), ('dash_address', models.CharField( max_length=35, validators=[apps.core.validators.dash_address_validator ])), ('id', models.BigAutoField(primary_key=True, serialize=False, verbose_name='ID')), ('dash_to_transfer', models.DecimalField(decimal_places=8, max_digits=16, validators=[ apps.core.validators. withdrawal_min_dash_amount_validator ])), ('state', models.PositiveSmallIntegerField(choices=[ (1, 'Initiated. Send {dash_to_transfer} Dash tokens to {ripple_address} with a destination tag {destination_tag}' ), (3, 'Received {dash_to_transfer} Dash tokens. Initiated an outgoing transaction' ), (4, 'Transaction is processed. Hash of a Dash transaction is {outgoing_dash_transaction_hash}' ), (5, 'Time expired. Transactions with the destination tag {destination_tag} are no longer tracked' ), (6, 'Transaction failed. Please contact our support team') ], default=1)), ('outgoing_dash_transaction_hash', models.CharField(blank=True, max_length=64)), ], options={ 'abstract': False, }, bases=(models.Model, apps.core.models.TransactionStates), ), migrations.CreateModel( name='WithdrawalTransactionStateChange', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('datetime', models.DateTimeField(auto_now_add=True)), ('current_state', models.CharField(max_length=500)), ('transaction', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='state_changes', to='core.WithdrawalTransaction')), ], options={ 'abstract': False, }, ), ]