class Migration(migrations.Migration): initial = True dependencies = [ ('brand', '0001_initial'), ] operations = [ 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, verbose_name='Title')), ('brand', models.ForeignKey(on_delete=models.SET( apps.product.models.safe_remove), to='brand.Brand', verbose_name='Brand')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('user', '0001_initial'), ] operations = [ migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(default='', max_length=10)), ('product_img_0', models.ImageField(default='image/none/noimage.jpg', upload_to=apps.product.models.user_directory_path)), ('product_img_1', models.ImageField(default='image/none/noimage.jpg', upload_to=apps.product.models.user_directory_path)), ('product_img_2', models.ImageField(default='image/none/noimage.jpg', upload_to=apps.product.models.user_directory_path)), ('product_img_3', models.ImageField(default='image/none/noimage.jpg', upload_to=apps.product.models.user_directory_path)), ('area', models.IntegerField(default=0)), ('price', models.IntegerField(default=0)), ('discount', models.IntegerField(default=0)), ('unit', models.CharField(default='', max_length=5)), ('date', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False)), ('post_type', models.IntegerField(choices=[(0, 'Buy'), (1, 'Sell')], default=0)), ('location', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), ('description', models.TextField(default='')), ('verify', models.BooleanField(default=False)), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='user.User')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Price', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('value', models.DecimalField(decimal_places=2, max_digits=5)), ('created_at', models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('slug', autoslug.fields.AutoSlugField(editable=False, populate_from='name', unique=True)), ('thumb', models.ImageField(blank=True, upload_to=apps.product.models.product_directory_path)), ], ), migrations.CreateModel( name='Ticket', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('price', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='product.Price')), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='product.Product')), ], ), migrations.AddField( model_name='price', name='product', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='product.Product'), ), ]
class Migration(migrations.Migration): dependencies = [ ('product', '0004_auto_20210517_2236'), ] operations = [ migrations.AlterField( model_name='product', name='identifier', field=models.CharField(blank=True, default='7658424529', max_length=50, null=True), ), migrations.CreateModel( name='Banner', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('description', models.TextField(max_length=500)), ('image', models.ImageField( upload_to=apps.product.models.banner_image_directory_path) ), ('status', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now=True)), ('updated', models.DateTimeField(auto_now=True)), ('product', models.ForeignKey( on_delete=django.db.models.deletion.DO_NOTHING, to='product.product')), ], options={ 'verbose_name': 'Banner', 'verbose_name_plural': 'Banners', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('brand', '0001_initial'), ] operations = [ migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name_en', models.CharField(blank=True, max_length=255, verbose_name='name_en')), ('name_cn', models.CharField(blank=True, max_length=255, verbose_name='name_cn')), ('pinyin', models.CharField(blank=True, max_length=255, verbose_name='pinyin')), ('pic', stdimage.models.StdImageField(blank=True, null=True, upload_to='product', verbose_name='picture')), ('alias', models.CharField(blank=True, max_length=255, verbose_name='alias')), ('category', models.CharField(blank=True, choices=[('乳液/面霜', '乳液/面霜'), ('卸妆', '卸妆'), ('去角质', '去角质'), ('化妆水', '化妆水'), ('洁面', '洁面'), ('精华', '精华'), ('防晒', '防晒'), ('面膜', '面膜')], max_length=64)), ('description', models.TextField(blank=True, verbose_name='description')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('brand', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='brand.Brand')), ], bases=(core.django.models.ResizeUploadedImageModelMixin, core.django.models.PinYinFieldModelMixin, models.Model), ), migrations.CreateModel( name='ProductAnalysis', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('oily_type', models.CharField(blank=True, choices=[('1', '重度油性'), ('2', '轻度油性'), ('3', '轻度干性'), ('4', '重度干性')], max_length=64, verbose_name='油性or干性')), ('sensitive_type', models.CharField(blank=True, choices=[('5', '重度敏感性'), ('6', '轻度敏感性'), ('7', '轻度耐受性'), ('8', '耐受性')], max_length=64, verbose_name='敏感or耐受')), ('pigment_type', models.CharField(blank=True, choices=[('9', '色素性皮肤'), ('10', '非色素性皮肤')], max_length=64, verbose_name='色素or非色素')), ('loose_type', models.CharField(blank=True, choices=[('11', '非紧致性皮肤'), ('12', '紧致性皮肤')], max_length=64, verbose_name='易皱or紧致')), ('analysis', models.TextField(blank=True, max_length=64, verbose_name='对应阐述')), ('product', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='product.Product')), ], ), migrations.CreateModel( name='ProductIngredient', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=255, verbose_name='name')), ('is_safe', models.BooleanField(verbose_name='安全风险')), ('is_live', models.BooleanField(verbose_name='活性成分')), ('is_pox', models.BooleanField(verbose_name='致痘风险')), ('effect', models.CharField(blank=True, max_length=255, verbose_name='使用目的')), ('description', models.TextField(blank=True, max_length=512, verbose_name='描述')), ('product', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='product.Product')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='ProductFeature', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('slug', models.SlugField(default='', max_length=200)), ('is_suggested', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='ProductCategory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('slug', models.SlugField(default='', max_length=200)), ('is_primary', models.BooleanField(default=False)), ('is_suggested', models.BooleanField(default=False)), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children_categories', to='product.ProductCategory')), ], ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('slug', models.SlugField(default='', max_length=200)), ('description', models.CharField(blank=True, max_length=1000)), ('thumbnail', models.FileField( blank=True, null=True, storage=conf.storage.OverwriteStorage(), upload_to=apps.product.models.Product.upload_product_path, verbose_name='Uploaded thumbnail of product')), ('price', models.DecimalField(decimal_places=2, max_digits=8)), ('categories', models.ManyToManyField(blank=True, to='product.ProductCategory')), ('features', models.ManyToManyField(blank=True, to='product.ProductFeature')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=20)), ('description', models.TextField(max_length=100)), ('status', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now_add=True)), ('updated', models.DateTimeField(auto_now=True)), ('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', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='children', to='product.category')), ], options={ 'verbose_name': 'Product category', 'verbose_name_plural': 'Product category', }, ), migrations.CreateModel( name='ProductCommandForm', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('field_name', models.CharField(max_length=255, verbose_name='Name')), ('field_label', models.CharField(blank=True, max_length=50, null=True, verbose_name='Label')), ('initial_values', models.CharField(blank=True, help_text='Put here the choices separated by a comma', max_length=50, null=True)), ('field_type', models.CharField(blank=True, choices=[('choices', 'Choix'), ('int', 'Integer'), ('archived', 'Archived - not available anymore')], max_length=50, null=True)), ], options={ 'verbose_name': 'Product form field', 'verbose_name_plural': 'Product form fields', }, ), migrations.CreateModel( name='TypeForm', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=50, null=True)), ('form', models.ManyToManyField(to='product.ProductCommandForm')), ], options={ 'verbose_name': 'Product form type', 'verbose_name_plural': 'Product form type', }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=50, null=True)), ('identifier', models.CharField(blank=True, default='8255383486', max_length=50, null=True)), ('description', models.TextField(blank=True, null=True)), ('marque', models.CharField(blank=True, max_length=50, null=True)), ('price', models.DecimalField(decimal_places=2, default=0, help_text='Product price', max_digits=9)), ('image', models.ImageField(blank=True, null=True, upload_to=apps.product.models.product_image_directory_path)), ('status', models.BooleanField(default=False)), ('created', models.DateTimeField(auto_now=True)), ('updated', models.DateTimeField(auto_now=True)), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='product.category')), ('type_form', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='product.typeform')), ], options={ 'verbose_name': 'Product', 'verbose_name_plural': 'Products', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('member', '0001_initial'), ('store', '0001_initial'), ('taggit', '0002_auto_20150616_2121'), ] operations = [ migrations.CreateModel( name='Brand', fields=[ ('id', models.IntegerField()), ('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('schema_name', models.CharField(blank=True, default=core.django.db.get_schema_name, max_length=32)), ('name_en', models.CharField(max_length=128, unique=True, verbose_name='name_en')), ('name_cn', models.CharField(blank=True, max_length=128, verbose_name='name_cn')), ('short_name', models.CharField(blank=True, max_length=128, verbose_name='Abbr')), ('remarks', models.CharField(blank=True, max_length=254, verbose_name='remarks')), ], options={ 'verbose_name': 'Brand', 'verbose_name_plural': 'Brand', }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.IntegerField()), ('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('schema_name', models.CharField(blank=True, default=core.django.db.get_schema_name, max_length=32)), ('code', models.CharField(blank=True, max_length=32, verbose_name='code')), ('name_en', models.CharField(blank=True, max_length=128, verbose_name='name_en')), ('name_cn', models.CharField(blank=True, max_length=128, verbose_name='name_cn')), ('brand_en', models.CharField(blank=True, max_length=128, verbose_name='brand_en')), ('brand_cn', models.CharField(blank=True, max_length=128, verbose_name='brand_cn')), ('alias', models.CharField(blank=True, max_length=255, verbose_name='alias')), ('country', models.CharField(blank=True, choices=[('AU', '澳洲'), ('US', '北美'), ('EU', '澳洲'), ('GB', '英国'), ('JP', '日本'), ('KR', '韩国'), ('TW', '台湾'), ('SEA', '东南亚')], default='AU', max_length=128, verbose_name='country')), ('pinyin', models.TextField(blank=True, max_length=512, verbose_name='pinyin')), ('pic', stdimage.models.StdImageField(blank=True, null=True, storage=core.django.storage.OverwriteStorage(), upload_to=apps.product.models.get_product_pic_path, verbose_name='picture')), ('spec', models.CharField(blank=True, max_length=128, verbose_name='spec')), ('weight', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='weight')), ('sold_count', models.IntegerField(default=0, verbose_name='Sold Count')), ('last_sell_price', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='last sell price')), ('avg_sell_price', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='avg sell price')), ('min_sell_price', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='min sell price')), ('max_sell_price', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='max sell price')), ('avg_cost', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='avg cost')), ('min_cost', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='min cost')), ('max_cost', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='max cost')), ('safe_sell_price', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='safe sell price')), ('tb_url', models.URLField(blank=True, null=True, verbose_name='TB URL')), ('wd_url', models.URLField(blank=True, null=True, verbose_name='WD URL')), ('wx_url', models.URLField(blank=True, null=True, verbose_name='WX URL')), ('summary', models.TextField(blank=True, null=True, verbose_name='summary')), ('description', models.TextField(blank=True, null=True, verbose_name='description')), ('is_active', models.BooleanField(default=True, verbose_name='is active')), ('brand', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='product.Brand', verbose_name='brand')), ('page', models.ManyToManyField(blank=True, to='store.Page', verbose_name='page')), ('seller', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='member.Seller')), ('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), ], options={ 'verbose_name': 'Product', 'verbose_name_plural': 'Product', }, bases=(core.django.models.ResizeUploadedImageModelMixin, core.django.models.PinYinFieldModelMixin, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Cart', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.SmallIntegerField(default=1)), ], options={ 'verbose_name': 'Cart', 'verbose_name_plural': 'Carts', }, ), migrations.CreateModel( name='OrderPayment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('invoice_no', models.PositiveIntegerField( default=apps.product.models.OrderPayment.number, unique=True)), ('product_list', jsonfield.fields.JSONField()), ('delivery_location', models.CharField(max_length=255)), ('contact_number', models.CharField(max_length=11)), ('payment_number', models.CharField(blank=True, max_length=11, null=True)), ('delivery_charge', models.CharField(default='Depends on courier.', max_length=50)), ('total', models.CharField(max_length=255)), ('order_date', models.DateField(auto_now_add=True)), ('city', models.CharField(max_length=20)), ('payment_gateway', models.CharField(default='Cash on delivery.', editable=False, max_length=50)), ('is_delivered', models.BooleanField(default=False, help_text='Is products are delivered?')), ], options={ 'verbose_name': 'Order and Payment', 'verbose_name_plural': 'Order and Payments', }, ), migrations.CreateModel( name='PaymentPhoneNumber', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('phone_number', models.PositiveSmallIntegerField(blank=True, help_text='Phone Number.', null=True)), ('payment_gateway', models.CharField(choices=[('Bkash', 'Bkash'), ('Rocket', 'Rocket'), ('Nagad', 'Nagad')], default=('Bkash', 'Bkash'), max_length=20)), ('image', models.ImageField(upload_to='service_image')), ], options={ 'verbose_name': 'Payment Phone Number', 'verbose_name_plural': 'Payment Phone Numbers', }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Product Name')), ('description', models.TextField(max_length=255)), ('price', models.PositiveIntegerField(verbose_name='Product Price')), ('stock', models.PositiveIntegerField( verbose_name='Stock of Products')), ('category', models.CharField(choices=[ ('Men', 'Men'), ('Women', 'Women'), ('Constructions', 'Constructions'), ('Home Decorations', 'Home Decorations'), ('Electronics', 'Electronics'), ('Others', 'Others'), ('Kids World', 'Kids World') ], default=('Men', 'Men'), max_length=20, verbose_name='Product Category')), ('sub_category', models.CharField(choices=[ ('Watch', 'Watch'), ('Belt', 'Belt'), ('Wallet', 'Wallet'), ('Shoe', 'Shoe'), ('Sunglass', 'Sunglass'), ('Ornaments', 'Ornaments'), ('Phrase', 'Phrase'), ('Safety Equipments', 'Safety Equipments'), ('Tools', 'Tools'), ('Machinery', 'Machinery'), ('Hardware', 'Hardware'), ('Sanitary', 'Sanitary'), ('Washing Device', 'Washing Device'), ('Water Purifiers', 'Water Purifiers'), ('Kitchen & Cleaning', 'Kitchen & Cleaning'), ('CC Camera', 'CC Camera'), ('Earphone', 'Earphone'), ('Scale', 'Scale'), ('Storage Device', 'Storage Device'), ('Network Device', 'Network Device'), ('Health Caret', 'Health Care'), ('Stationery', 'Stationery'), ('Rain Coat', 'Rain Coat'), ('Kids Toys', 'Kids Toys'), ('Bag', 'Bag') ], default=('Watch', 'Watch'), max_length=20, verbose_name='Product Sub-Category')), ('offer', models.CharField(blank=True, max_length=50, null=True)), ('default_photo', models.ImageField(help_text='size must be ato ato pixel.', upload_to='default_photo')), ('upload_date', models.DateField(auto_now_add=True)), ('trend_name', models.CharField(blank=True, max_length=50, null=True)), ('discount', models.SmallIntegerField(blank=True, null=True)), ], options={ 'verbose_name': 'Product', 'verbose_name_plural': 'Products', }, ), migrations.CreateModel( name='ProductPhoto', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ImageField(help_text='Can add only 3 images please.', upload_to='product_images')), ], options={ 'verbose_name': 'Product Photo', 'verbose_name_plural': 'Product Photos', }, ), migrations.CreateModel( name='Reward', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ImageField(upload_to='reward_images')), ('reward_title', models.CharField(blank=True, max_length=50, null=True, verbose_name='Reward Title')), ('position', models.PositiveSmallIntegerField(null=True)), ], ), migrations.CreateModel( name='Slider', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=40)), ('sub_title', models.CharField(max_length=40)), ('photo', models.ImageField(upload_to='slider_image')), ], options={ 'verbose_name': 'Slider', 'verbose_name_plural': 'Slider', }, ), migrations.CreateModel( name='SocialLink', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('facebook', models.URLField(max_length=250)), ('twitter', models.URLField(max_length=250)), ('youtube', models.URLField(max_length=250)), ('instagram', models.URLField(max_length=250)), ('contact_mail', models.EmailField(max_length=120)), ('information_mail', models.EmailField(max_length=250)), ('customer_care', models.URLField(max_length=250)), ('complain_suggestion', models.URLField(max_length=250)), ('order_confirmation', models.URLField(max_length=250)), ], options={ 'verbose_name': 'Social Link', 'verbose_name_plural': 'Social Links', }, ), migrations.CreateModel( name='Trend', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('trend_name', models.CharField(blank=True, max_length=50, null=True)), ('image', models.ImageField(upload_to='trend_images')), ('position', models.PositiveSmallIntegerField(null=True)), ], options={ 'verbose_name': 'Trend', 'verbose_name_plural': 'Trends', }, ), migrations.CreateModel( name='UpdateNews', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('news', models.CharField(max_length=100)), ('position', models.PositiveSmallIntegerField(null=True)), ], options={ 'verbose_name': 'Updated News', 'verbose_name_plural': 'Updated News', }, ), migrations.CreateModel( name='Review', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('description', models.TextField()), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='product.Product')), ], ), ]