diff --git a/oscar/apps/address/migrations/0001_initial.py b/oscar/apps/address/migrations/0001_initial.py index 686ffb4cba6..de24f3cdbc0 100644 --- a/oscar/apps/address/migrations/0001_initial.py +++ b/oscar/apps/address/migrations/0001_initial.py @@ -16,56 +16,56 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Country', fields=[ - ('iso_3166_1_a2', models.CharField(max_length=2, serialize=False, verbose_name='ISO 3166-1 alpha-2', primary_key=True)), - ('iso_3166_1_a3', models.CharField(max_length=3, verbose_name='ISO 3166-1 alpha-3', blank=True)), - ('iso_3166_1_numeric', models.CharField(max_length=3, verbose_name='ISO 3166-1 numeric', blank=True)), - ('printable_name', models.CharField(max_length=128, verbose_name='Country name')), - ('name', models.CharField(max_length=128, verbose_name='Official name')), - ('display_order', models.PositiveSmallIntegerField(default=0, help_text='Higher the number, higher the country in the list.', verbose_name='Display order', db_index=True)), - ('is_shipping_country', models.BooleanField(default=False, db_index=True, verbose_name='Is shipping country')), + ('iso_3166_1_a2', models.CharField(verbose_name='ISO 3166-1 alpha-2', primary_key=True, serialize=False, max_length=2)), + ('iso_3166_1_a3', models.CharField(verbose_name='ISO 3166-1 alpha-3', blank=True, max_length=3)), + ('iso_3166_1_numeric', models.CharField(verbose_name='ISO 3166-1 numeric', blank=True, max_length=3)), + ('printable_name', models.CharField(verbose_name='Country name', max_length=128)), + ('name', models.CharField(verbose_name='Official name', max_length=128)), + ('display_order', models.PositiveSmallIntegerField(verbose_name='Display order', help_text='Higher the number, higher the country in the list.', db_index=True, default=0)), + ('is_shipping_country', models.BooleanField(verbose_name='Is shipping country', default=False, db_index=True)), ], options={ - 'ordering': (b'-display_order', b'printable_name'), - 'abstract': False, 'verbose_name': 'Country', 'verbose_name_plural': 'Countries', + 'ordering': ('-display_order', 'printable_name'), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='UserAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), - ('phone_number', oscar.models.fields.PhoneNumberField(help_text='In case we need to call you about your order', verbose_name='Phone number', blank=True)), - ('notes', models.TextField(help_text='Tell us anything we should know when delivering your order.', verbose_name='Instructions', blank=True)), - ('is_default_for_shipping', models.BooleanField(default=False, verbose_name='Default shipping address?')), - ('is_default_for_billing', models.BooleanField(default=False, verbose_name='Default billing address?')), - ('num_orders', models.PositiveIntegerField(default=0, verbose_name='Number of Orders')), - ('hash', models.CharField(verbose_name='Address Hash', max_length=255, editable=False, db_index=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), + ('phone_number', oscar.models.fields.PhoneNumberField(verbose_name='Phone number', blank=True, help_text='In case we need to call you about your order')), + ('notes', models.TextField(verbose_name='Instructions', blank=True, help_text='Tell us anything we should know when delivering your order.')), + ('is_default_for_shipping', models.BooleanField(verbose_name='Default shipping address?', default=False)), + ('is_default_for_billing', models.BooleanField(verbose_name='Default billing address?', default=False)), + ('num_orders', models.PositiveIntegerField(verbose_name='Number of Orders', default=0)), + ('hash', models.CharField(editable=False, verbose_name='Address Hash', db_index=True, max_length=255)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'ordering': [b'-num_orders'], - 'abstract': False, 'verbose_name': 'User address', 'verbose_name_plural': 'User addresses', + 'ordering': ['-num_orders'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='useraddress', - unique_together=set([(b'user', b'hash')]), + unique_together=set([('user', 'hash')]), ), ] diff --git a/oscar/apps/analytics/migrations/0001_initial.py b/oscar/apps/analytics/migrations/0001_initial.py index 3acdccb5de5..cddb27d17a1 100644 --- a/oscar/apps/analytics/migrations/0001_initial.py +++ b/oscar/apps/analytics/migrations/0001_initial.py @@ -13,17 +13,17 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ProductRecord', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('num_views', models.PositiveIntegerField(default=0, verbose_name='Views')), - ('num_basket_additions', models.PositiveIntegerField(default=0, verbose_name='Basket Additions')), - ('num_purchases', models.PositiveIntegerField(default=0, verbose_name='Purchases', db_index=True)), - ('score', models.FloatField(default=0.0, verbose_name='Score')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('num_views', models.PositiveIntegerField(verbose_name='Views', default=0)), + ('num_basket_additions', models.PositiveIntegerField(verbose_name='Basket Additions', default=0)), + ('num_purchases', models.PositiveIntegerField(verbose_name='Purchases', db_index=True, default=0)), + ('score', models.FloatField(verbose_name='Score', default=0.0)), ], options={ - 'ordering': [b'-num_purchases'], - 'abstract': False, 'verbose_name': 'Product record', 'verbose_name_plural': 'Product records', + 'ordering': ['-num_purchases'], + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/analytics/migrations/0002_auto_20140729_1113.py b/oscar/apps/analytics/migrations/0002_auto_20140805_1510.py similarity index 64% rename from oscar/apps/analytics/migrations/0002_auto_20140729_1113.py rename to oscar/apps/analytics/migrations/0002_auto_20140805_1510.py index b4249520a3b..330427fe42a 100644 --- a/oscar/apps/analytics/migrations/0002_auto_20140729_1113.py +++ b/oscar/apps/analytics/migrations/0002_auto_20140805_1510.py @@ -24,50 +24,50 @@ class Migration(migrations.Migration): migrations.CreateModel( name='UserProductView', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'User product view', 'verbose_name_plural': 'User product views', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='UserRecord', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('num_product_views', models.PositiveIntegerField(default=0, verbose_name='Product Views')), - ('num_basket_additions', models.PositiveIntegerField(default=0, verbose_name='Basket Additions')), - ('num_orders', models.PositiveIntegerField(default=0, verbose_name='Orders', db_index=True)), - ('num_order_lines', models.PositiveIntegerField(default=0, verbose_name='Order Lines', db_index=True)), - ('num_order_items', models.PositiveIntegerField(default=0, verbose_name='Order Items', db_index=True)), - ('total_spent', models.DecimalField(default=Decimal('0.00'), verbose_name='Total Spent', max_digits=12, decimal_places=2)), - ('date_last_order', models.DateTimeField(null=True, verbose_name='Last Order Date', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('num_product_views', models.PositiveIntegerField(verbose_name='Product Views', default=0)), + ('num_basket_additions', models.PositiveIntegerField(verbose_name='Basket Additions', default=0)), + ('num_orders', models.PositiveIntegerField(verbose_name='Orders', db_index=True, default=0)), + ('num_order_lines', models.PositiveIntegerField(verbose_name='Order Lines', db_index=True, default=0)), + ('num_order_items', models.PositiveIntegerField(verbose_name='Order Items', db_index=True, default=0)), + ('total_spent', models.DecimalField(verbose_name='Total Spent', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('date_last_order', models.DateTimeField(verbose_name='Last Order Date', blank=True, null=True)), ('user', models.OneToOneField(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'User record', 'verbose_name_plural': 'User records', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='UserSearch', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('query', models.CharField(max_length=255, verbose_name='Search term', db_index=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('query', models.CharField(verbose_name='Search term', db_index=True, max_length=255)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'User search query', 'verbose_name_plural': 'User search queries', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/basket/migrations/0001_initial.py b/oscar/apps/basket/migrations/0001_initial.py index 29f42fd80a8..cbfd833a536 100644 --- a/oscar/apps/basket/migrations/0001_initial.py +++ b/oscar/apps/basket/migrations/0001_initial.py @@ -15,17 +15,17 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Basket', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('status', models.CharField(default=b'Open', max_length=128, verbose_name='Status', choices=[(b'Open', 'Open - currently active'), (b'Merged', 'Merged - superceded by another basket'), (b'Saved', 'Saved - for items to be purchased later'), (b'Frozen', 'Frozen - the basket cannot be modified'), (b'Submitted', 'Submitted - has been ordered at the checkout')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_merged', models.DateTimeField(null=True, verbose_name='Date merged', blank=True)), - ('date_submitted', models.DateTimeField(null=True, verbose_name='Date submitted', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('status', models.CharField(verbose_name='Status', choices=[('Open', 'Open - currently active'), ('Merged', 'Merged - superceded by another basket'), ('Saved', 'Saved - for items to be purchased later'), ('Frozen', 'Frozen - the basket cannot be modified'), ('Submitted', 'Submitted - has been ordered at the checkout')], default='Open', max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_merged', models.DateTimeField(verbose_name='Date merged', blank=True, null=True)), + ('date_submitted', models.DateTimeField(verbose_name='Date submitted', blank=True, null=True)), ('owner', models.ForeignKey(verbose_name='Owner', to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Basket', 'verbose_name_plural': 'Baskets', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/basket/migrations/0002_auto_20140729_1113.py b/oscar/apps/basket/migrations/0002_auto_20140805_1510.py similarity index 58% rename from oscar/apps/basket/migrations/0002_auto_20140729_1113.py rename to oscar/apps/basket/migrations/0002_auto_20140805_1510.py index 06c793abab5..b634f8bd39e 100644 --- a/oscar/apps/basket/migrations/0002_auto_20140729_1113.py +++ b/oscar/apps/basket/migrations/0002_auto_20140805_1510.py @@ -17,46 +17,46 @@ class Migration(migrations.Migration): migrations.AddField( model_name='basket', name='vouchers', - field=models.ManyToManyField(to='voucher.Voucher', null=True, verbose_name='Vouchers', blank=True), + field=models.ManyToManyField(verbose_name='Vouchers', blank=True, to='voucher.Voucher', null=True), preserve_default=True, ), migrations.CreateModel( name='Line', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('line_reference', models.SlugField(max_length=128, verbose_name='Line Reference')), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), - ('price_currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), - ('price_excl_tax', models.DecimalField(null=True, verbose_name='Price excl. Tax', max_digits=12, decimal_places=2)), - ('price_incl_tax', models.DecimalField(null=True, verbose_name='Price incl. Tax', max_digits=12, decimal_places=2)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('line_reference', models.SlugField(verbose_name='Line Reference', max_length=128)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), + ('price_currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), + ('price_excl_tax', models.DecimalField(verbose_name='Price excl. Tax', max_digits=12, decimal_places=2, null=True)), + ('price_incl_tax', models.DecimalField(verbose_name='Price incl. Tax', max_digits=12, decimal_places=2, null=True)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('basket', models.ForeignKey(verbose_name='Basket', to='basket.Basket')), ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')), ('stockrecord', models.ForeignKey(to='partner.StockRecord')), ], options={ - 'abstract': False, 'verbose_name': 'Basket line', 'verbose_name_plural': 'Basket lines', + 'abstract': False, }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='line', - unique_together=set([(b'basket', b'line_reference')]), + unique_together=set([('basket', 'line_reference')]), ), migrations.CreateModel( name='LineAttribute', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('value', models.CharField(max_length=255, verbose_name='Value')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('value', models.CharField(verbose_name='Value', max_length=255)), ('line', models.ForeignKey(verbose_name='Line', to='basket.Line')), ('option', models.ForeignKey(verbose_name='Option', to='catalogue.Option')), ], options={ - 'abstract': False, 'verbose_name': 'Line attribute', 'verbose_name_plural': 'Line attributes', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/catalogue/migrations/0001_initial.py b/oscar/apps/catalogue/migrations/0001_initial.py index da1d72e4a56..7e39135478c 100644 --- a/oscar/apps/catalogue/migrations/0001_initial.py +++ b/oscar/apps/catalogue/migrations/0001_initial.py @@ -2,42 +2,42 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield import oscar.models.fields -import django.db.models.deletion import django.core.validators +import django.db.models.deletion +import oscar.models.fields.autoslugfield class Migration(migrations.Migration): dependencies = [ - ('contenttypes', '__latest__'), + ('contenttypes', '0001_initial'), ] operations = [ migrations.CreateModel( name='AttributeOption', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('option', models.CharField(max_length=255, verbose_name='Option')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('option', models.CharField(verbose_name='Option', max_length=255)), ], options={ - 'abstract': False, 'verbose_name': 'Attribute option', 'verbose_name_plural': 'Attribute options', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='AttributeOptionGroup', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), ], options={ - 'abstract': False, 'verbose_name': 'Attribute option group', 'verbose_name_plural': 'Attribute option groups', + 'abstract': False, }, bases=(models.Model,), ), @@ -50,108 +50,108 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Category', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('path', models.CharField(unique=True, max_length=255)), ('depth', models.PositiveIntegerField()), ('numchild', models.PositiveIntegerField(default=0)), - ('name', models.CharField(max_length=255, verbose_name='Name', db_index=True)), + ('name', models.CharField(verbose_name='Name', db_index=True, max_length=255)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('image', models.ImageField(max_length=255, upload_to=b'categories', null=True, verbose_name='Image', blank=True)), - ('slug', models.SlugField(verbose_name='Slug', max_length=255, editable=False)), - ('full_name', models.CharField(verbose_name='Full Name', max_length=255, editable=False, db_index=True)), + ('image', models.ImageField(verbose_name='Image', upload_to='categories', blank=True, null=True, max_length=255)), + ('slug', models.SlugField(editable=False, verbose_name='Slug', max_length=255)), + ('full_name', models.CharField(editable=False, verbose_name='Full Name', db_index=True, max_length=255)), ], options={ - 'ordering': [b'full_name'], - 'abstract': False, 'verbose_name': 'Category', 'verbose_name_plural': 'Categories', + 'ordering': ['full_name'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Option', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), - ('type', models.CharField(default=b'Required', max_length=128, verbose_name='Status', choices=[(b'Required', 'Required - a value for this option must be specified'), (b'Optional', 'Optional - a value for this option can be omitted')])), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), + ('type', models.CharField(verbose_name='Status', choices=[('Required', 'Required - a value for this option must be specified'), ('Optional', 'Optional - a value for this option can be omitted')], default='Required', max_length=128)), ], options={ - 'abstract': False, 'verbose_name': 'Option', 'verbose_name_plural': 'Options', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Product', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('structure', models.CharField(default=b'standalone', max_length=10, verbose_name='Product structure', choices=[(b'standalone', 'Stand-alone product'), (b'parent', 'Parent product'), (b'child', 'Child product')])), - ('upc', oscar.models.fields.NullCharField(max_length=64, help_text='Universal Product Code (UPC) is an identifier for a product which is not specific to a particular supplier. Eg an ISBN for a book.', unique=True, verbose_name='UPC')), - ('title', models.CharField(max_length=255, verbose_name='Title', blank=True)), - ('slug', models.SlugField(max_length=255, verbose_name='Slug')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('structure', models.CharField(verbose_name='Product structure', choices=[('standalone', 'Stand-alone product'), ('parent', 'Parent product'), ('child', 'Child product')], default='standalone', max_length=10)), + ('upc', oscar.models.fields.NullCharField(verbose_name='UPC', max_length=64, help_text='Universal Product Code (UPC) is an identifier for a product which is not specific to a particular supplier. Eg an ISBN for a book.', unique=True)), + ('title', models.CharField(verbose_name='Title', blank=True, max_length=255)), + ('slug', models.SlugField(verbose_name='Slug', max_length=255)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('rating', models.FloatField(verbose_name='Rating', null=True, editable=False)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated', db_index=True)), - ('is_discountable', models.BooleanField(default=True, help_text='This flag indicates if this product can be used in an offer or not', verbose_name='Is discountable?')), - ('parent', models.ForeignKey(blank=True, to='catalogue.Product', help_text="Only choose a parent product if you're creating a child product. For example if this is a size 4 of a particular t-shirt. Leave blank if this is a stand-alone product (i.e. there is only one version of this product).", null=True, verbose_name='Parent product')), - ('product_options', models.ManyToManyField(to='catalogue.Option', verbose_name='Product Options', blank=True)), + ('rating', models.FloatField(editable=False, verbose_name='Rating', null=True)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date updated', auto_now=True, db_index=True)), + ('is_discountable', models.BooleanField(verbose_name='Is discountable?', help_text='This flag indicates if this product can be used in an offer or not', default=True)), + ('parent', models.ForeignKey(verbose_name='Parent product', blank=True, help_text="Only choose a parent product if you're creating a child product. For example if this is a size 4 of a particular t-shirt. Leave blank if this is a stand-alone product (i.e. there is only one version of this product).", to='catalogue.Product', null=True)), + ('product_options', models.ManyToManyField(verbose_name='Product Options', blank=True, to='catalogue.Option')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Product', 'verbose_name_plural': 'Products', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='ProductAttribute', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('code', models.SlugField(max_length=128, verbose_name='Code', validators=[django.core.validators.RegexValidator(regex=b'^[a-zA-Z\\-_][0-9a-zA-Z\\-_]*$', message="Code can only contain the letters a-z, A-Z, digits, minus and underscores, and can't start with a digit")])), - ('type', models.CharField(default=b'text', max_length=20, verbose_name='Type', choices=[(b'text', 'Text'), (b'integer', 'Integer'), (b'boolean', 'True / False'), (b'float', 'Float'), (b'richtext', 'Rich Text'), (b'date', 'Date'), (b'option', 'Option'), (b'entity', 'Entity'), (b'file', 'File'), (b'image', 'Image')])), - ('required', models.BooleanField(default=False, verbose_name='Required')), - ('option_group', models.ForeignKey(blank=True, to='catalogue.AttributeOptionGroup', help_text='Select an option group if using type "Option"', null=True, verbose_name='Option Group')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('code', models.SlugField(verbose_name='Code', validators=[django.core.validators.RegexValidator(regex='^[a-zA-Z\\-_][0-9a-zA-Z\\-_]*$', message="Code can only contain the letters a-z, A-Z, digits, minus and underscores, and can't start with a digit")], max_length=128)), + ('type', models.CharField(verbose_name='Type', choices=[('text', 'Text'), ('integer', 'Integer'), ('boolean', 'True / False'), ('float', 'Float'), ('richtext', 'Rich Text'), ('date', 'Date'), ('option', 'Option'), ('entity', 'Entity'), ('file', 'File'), ('image', 'Image')], default='text', max_length=20)), + ('required', models.BooleanField(verbose_name='Required', default=False)), + ('option_group', models.ForeignKey(verbose_name='Option Group', blank=True, help_text='Select an option group if using type "Option"', to='catalogue.AttributeOptionGroup', null=True)), ], options={ - 'ordering': [b'code'], - 'abstract': False, 'verbose_name': 'Product attribute', 'verbose_name_plural': 'Product attributes', + 'ordering': ['code'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='ProductAttributeValue', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('value_text', models.TextField(null=True, verbose_name='Text', blank=True)), - ('value_integer', models.IntegerField(null=True, verbose_name='Integer', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('value_text', models.TextField(verbose_name='Text', blank=True, null=True)), + ('value_integer', models.IntegerField(verbose_name='Integer', blank=True, null=True)), ('value_boolean', models.NullBooleanField(verbose_name='Boolean')), - ('value_float', models.FloatField(null=True, verbose_name='Float', blank=True)), - ('value_richtext', models.TextField(null=True, verbose_name='Richtext', blank=True)), - ('value_date', models.DateField(null=True, verbose_name='Date', blank=True)), - ('value_file', models.FileField(max_length=255, null=True, upload_to=b'images/products/%Y/%m/', blank=True)), - ('value_image', models.ImageField(max_length=255, null=True, upload_to=b'images/products/%Y/%m/', blank=True)), - ('entity_object_id', models.PositiveIntegerField(null=True, editable=False, blank=True)), + ('value_float', models.FloatField(verbose_name='Float', blank=True, null=True)), + ('value_richtext', models.TextField(verbose_name='Richtext', blank=True, null=True)), + ('value_date', models.DateField(verbose_name='Date', blank=True, null=True)), + ('value_file', models.FileField(null=True, upload_to='images/products/%Y/%m/', blank=True, max_length=255)), + ('value_image', models.ImageField(null=True, upload_to='images/products/%Y/%m/', blank=True, max_length=255)), + ('entity_object_id', models.PositiveIntegerField(editable=False, blank=True, null=True)), ('attribute', models.ForeignKey(verbose_name='Attribute', to='catalogue.ProductAttribute')), - ('entity_content_type', models.ForeignKey(blank=True, editable=False, to='contenttypes.ContentType', null=True)), + ('entity_content_type', models.ForeignKey(editable=False, blank=True, to='contenttypes.ContentType', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Product attribute value', 'verbose_name_plural': 'Product attribute values', + 'abstract': False, }, bases=(models.Model,), ), migrations.AddField( model_name='product', name='attributes', - field=models.ManyToManyField(to='catalogue.ProductAttribute', verbose_name='Attributes', through='catalogue.ProductAttributeValue'), + field=models.ManyToManyField(verbose_name='Attributes', through='catalogue.ProductAttributeValue', to='catalogue.ProductAttribute'), preserve_default=True, ), migrations.AddField( @@ -168,26 +168,26 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='productattributevalue', - unique_together=set([(b'attribute', b'product')]), + unique_together=set([('attribute', 'product')]), ), migrations.CreateModel( name='ProductCategory', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('category', models.ForeignKey(verbose_name='Category', to='catalogue.Category')), ], options={ - 'ordering': [b'product', b'category'], - 'abstract': False, 'verbose_name': 'Product category', 'verbose_name_plural': 'Product categories', + 'ordering': ['product', 'category'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AddField( model_name='product', name='categories', - field=models.ManyToManyField(to='catalogue.Category', verbose_name='Categories', through='catalogue.ProductCategory'), + field=models.ManyToManyField(verbose_name='Categories', through='catalogue.ProductCategory', to='catalogue.Category'), preserve_default=True, ), migrations.AddField( @@ -198,23 +198,23 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='productcategory', - unique_together=set([(b'product', b'category')]), + unique_together=set([('product', 'category')]), ), migrations.CreateModel( name='ProductClass', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('slug', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('requires_shipping', models.BooleanField(default=True, verbose_name='Requires shipping?')), - ('track_stock', models.BooleanField(default=True, verbose_name='Track stock levels?')), - ('options', models.ManyToManyField(to='catalogue.Option', verbose_name='Options', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('slug', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('requires_shipping', models.BooleanField(verbose_name='Requires shipping?', default=True)), + ('track_stock', models.BooleanField(verbose_name='Track stock levels?', default=True)), + ('options', models.ManyToManyField(verbose_name='Options', blank=True, to='catalogue.Option')), ], options={ - 'ordering': [b'name'], - 'abstract': False, 'verbose_name': 'Product class', 'verbose_name_plural': 'Product classes', + 'ordering': ['name'], + 'abstract': False, }, bases=(models.Model,), ), @@ -227,49 +227,49 @@ class Migration(migrations.Migration): migrations.AddField( model_name='product', name='product_class', - field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Product Type', to='catalogue.ProductClass', help_text='Choose what type of product this is', null=True), + field=models.ForeignKey(verbose_name='Product Type', on_delete=django.db.models.deletion.PROTECT, help_text='Choose what type of product this is', to='catalogue.ProductClass', null=True), preserve_default=True, ), migrations.CreateModel( name='ProductImage', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('original', models.ImageField(upload_to=b'images/products/%Y/%m/', max_length=255, verbose_name='Original')), - ('caption', models.CharField(max_length=200, verbose_name='Caption', blank=True)), - ('display_order', models.PositiveIntegerField(default=0, help_text='An image with a display order of zero will be the primary image for a product', verbose_name='Display Order')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('original', models.ImageField(verbose_name='Original', upload_to='images/products/%Y/%m/', max_length=255)), + ('caption', models.CharField(verbose_name='Caption', blank=True, max_length=200)), + ('display_order', models.PositiveIntegerField(verbose_name='Display Order', help_text='An image with a display order of zero will be the primary image for a product', default=0)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')), ], options={ - 'ordering': [b'display_order'], - 'abstract': False, 'verbose_name': 'Product image', 'verbose_name_plural': 'Product images', + 'ordering': ['display_order'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='productimage', - unique_together=set([(b'product', b'display_order')]), + unique_together=set([('product', 'display_order')]), ), migrations.CreateModel( name='ProductRecommendation', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('ranking', models.PositiveSmallIntegerField(default=0, help_text='Determines order of the products. A product with a higher value will appear before one with a lower ranking.', verbose_name='Ranking')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('ranking', models.PositiveSmallIntegerField(verbose_name='Ranking', help_text='Determines order of the products. A product with a higher value will appear before one with a lower ranking.', default=0)), ], options={ - 'ordering': [b'primary', b'-ranking'], - 'abstract': False, 'verbose_name': 'Product recommendation', 'verbose_name_plural': 'Product recomendations', + 'ordering': ['primary', '-ranking'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AddField( model_name='product', name='recommended_products', - field=models.ManyToManyField(to='catalogue.Product', verbose_name='Recommended Products', through='catalogue.ProductRecommendation', blank=True), + field=models.ManyToManyField(verbose_name='Recommended Products', through='catalogue.ProductRecommendation', blank=True, to='catalogue.Product'), preserve_default=True, ), migrations.AddField( @@ -286,6 +286,6 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='productrecommendation', - unique_together=set([(b'primary', b'recommendation')]), + unique_together=set([('primary', 'recommendation')]), ), ] diff --git a/oscar/apps/catalogue/reviews/migrations/0001_initial.py b/oscar/apps/catalogue/reviews/migrations/0001_initial.py index df3279addcd..59c80af11fd 100644 --- a/oscar/apps/catalogue/reviews/migrations/0001_initial.py +++ b/oscar/apps/catalogue/reviews/migrations/0001_initial.py @@ -18,51 +18,51 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ProductReview', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('score', models.SmallIntegerField(verbose_name='Score', choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5)])), - ('title', models.CharField(max_length=255, verbose_name='Title', validators=[oscar.core.validators.non_whitespace])), + ('title', models.CharField(verbose_name='Title', validators=[oscar.core.validators.non_whitespace], max_length=255)), ('body', models.TextField(verbose_name='Body')), - ('name', models.CharField(max_length=255, verbose_name='Name', blank=True)), - ('email', models.EmailField(max_length=75, verbose_name='Email', blank=True)), + ('name', models.CharField(verbose_name='Name', blank=True, max_length=255)), + ('email', models.EmailField(verbose_name='Email', blank=True, max_length=75)), ('homepage', models.URLField(verbose_name='URL', blank=True)), - ('status', models.SmallIntegerField(default=1, verbose_name='Status', choices=[(0, 'Requires moderation'), (1, 'Approved'), (2, 'Rejected')])), - ('total_votes', models.IntegerField(default=0, verbose_name='Total Votes')), - ('delta_votes', models.IntegerField(default=0, verbose_name='Delta Votes', db_index=True)), + ('status', models.SmallIntegerField(verbose_name='Status', choices=[(0, 'Requires moderation'), (1, 'Approved'), (2, 'Rejected')], default=1)), + ('total_votes', models.IntegerField(verbose_name='Total Votes', default=0)), + ('delta_votes', models.IntegerField(verbose_name='Delta Votes', db_index=True, default=0)), ('date_created', models.DateTimeField(auto_now_add=True)), - ('product', models.ForeignKey(to='catalogue.Product', on_delete=django.db.models.deletion.SET_NULL, null=True)), + ('product', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, to='catalogue.Product', null=True)), ('user', models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'ordering': [b'-delta_votes', b'id'], - 'abstract': False, 'verbose_name': 'Product review', 'verbose_name_plural': 'Product reviews', + 'ordering': ['-delta_votes', 'id'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='productreview', - unique_together=set([(b'product', b'user')]), + unique_together=set([('product', 'user')]), ), migrations.CreateModel( name='Vote', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('delta', models.SmallIntegerField(verbose_name='Delta', choices=[(1, 'Up'), (-1, 'Down')])), ('date_created', models.DateTimeField(auto_now_add=True)), ('review', models.ForeignKey(to='reviews.ProductReview')), ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Vote', 'verbose_name_plural': 'Votes', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.AlterUniqueTogether( name='vote', - unique_together=set([(b'user', b'review')]), + unique_together=set([('user', 'review')]), ), ] diff --git a/oscar/apps/customer/migrations/0001_initial.py b/oscar/apps/customer/migrations/0001_initial.py index ce650a8ce01..a2da92f7cf4 100644 --- a/oscar/apps/customer/migrations/0001_initial.py +++ b/oscar/apps/customer/migrations/0001_initial.py @@ -17,80 +17,80 @@ class Migration(migrations.Migration): migrations.CreateModel( name='CommunicationEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, separator='_', blank=True, help_text='Code used for looking up this event programmatically', unique=True, verbose_name='Code')), - ('name', models.CharField(help_text='This is just used for organisational purposes', max_length=255, verbose_name='Name')), - ('category', models.CharField(default='Order related', max_length=255, verbose_name='Category')), - ('email_subject_template', models.CharField(max_length=255, null=True, verbose_name='Email Subject Template', blank=True)), - ('email_body_template', models.TextField(null=True, verbose_name='Email Body Template', blank=True)), - ('email_body_html_template', models.TextField(help_text='HTML template', null=True, verbose_name='Email Body HTML Template', blank=True)), - ('sms_template', models.CharField(help_text='SMS template', max_length=170, null=True, verbose_name='SMS Template', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date Updated')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, separator='_', populate_from='name', help_text='Code used for looking up this event programmatically', unique=True)), + ('name', models.CharField(verbose_name='Name', help_text='This is just used for organisational purposes', max_length=255)), + ('category', models.CharField(verbose_name='Category', default='Order related', max_length=255)), + ('email_subject_template', models.CharField(verbose_name='Email Subject Template', blank=True, null=True, max_length=255)), + ('email_body_template', models.TextField(verbose_name='Email Body Template', blank=True, null=True)), + ('email_body_html_template', models.TextField(verbose_name='Email Body HTML Template', blank=True, help_text='HTML template', null=True)), + ('sms_template', models.CharField(verbose_name='SMS Template', blank=True, help_text='SMS template', null=True, max_length=170)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date Updated', auto_now=True)), ], options={ - 'abstract': False, 'verbose_name': 'Communication event type', 'verbose_name_plural': 'Communication event types', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Email', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('subject', models.TextField(max_length=255, verbose_name='Subject')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('subject', models.TextField(verbose_name='Subject', max_length=255)), ('body_text', models.TextField(verbose_name='Body Text')), ('body_html', models.TextField(verbose_name='Body HTML', blank=True)), - ('date_sent', models.DateTimeField(auto_now_add=True, verbose_name='Date Sent')), + ('date_sent', models.DateTimeField(verbose_name='Date Sent', auto_now_add=True)), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'Email', 'verbose_name_plural': 'Emails', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Notification', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('subject', models.CharField(max_length=255)), ('body', models.TextField()), - ('category', models.CharField(max_length=255, blank=True)), - ('location', models.CharField(default=b'Inbox', max_length=32, choices=[(b'Inbox', 'Inbox'), (b'Archive', 'Archive')])), + ('category', models.CharField(blank=True, max_length=255)), + ('location', models.CharField(choices=[('Inbox', 'Inbox'), ('Archive', 'Archive')], default='Inbox', max_length=32)), ('date_sent', models.DateTimeField(auto_now_add=True)), - ('date_read', models.DateTimeField(null=True, blank=True)), + ('date_read', models.DateTimeField(blank=True, null=True)), ('recipient', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ('sender', models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'ordering': (b'-date_sent',), - 'abstract': False, 'verbose_name': 'Notification', 'verbose_name_plural': 'Notifications', + 'ordering': ('-date_sent',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='ProductAlert', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('email', models.EmailField(db_index=True, max_length=75, verbose_name='Email', blank=True)), - ('key', models.CharField(db_index=True, max_length=128, verbose_name='Key', blank=True)), - ('status', models.CharField(default=b'Active', max_length=20, verbose_name='Status', choices=[(b'Unconfirmed', 'Not yet confirmed'), (b'Active', 'Active'), (b'Cancelled', 'Cancelled'), (b'Closed', 'Closed')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_confirmed', models.DateTimeField(null=True, verbose_name='Date confirmed', blank=True)), - ('date_cancelled', models.DateTimeField(null=True, verbose_name='Date cancelled', blank=True)), - ('date_closed', models.DateTimeField(null=True, verbose_name='Date closed', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('email', models.EmailField(verbose_name='Email', blank=True, db_index=True, max_length=75)), + ('key', models.CharField(verbose_name='Key', blank=True, db_index=True, max_length=128)), + ('status', models.CharField(verbose_name='Status', choices=[('Unconfirmed', 'Not yet confirmed'), ('Active', 'Active'), ('Cancelled', 'Cancelled'), ('Closed', 'Closed')], default='Active', max_length=20)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_confirmed', models.DateTimeField(verbose_name='Date confirmed', blank=True, null=True)), + ('date_cancelled', models.DateTimeField(verbose_name='Date cancelled', blank=True, null=True)), + ('date_closed', models.DateTimeField(verbose_name='Date closed', blank=True, null=True)), ('product', models.ForeignKey(to='catalogue.Product')), ('user', models.ForeignKey(verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Product alert', 'verbose_name_plural': 'Product alerts', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/offer/migrations/0001_initial.py b/oscar/apps/offer/migrations/0001_initial.py index fb44e796b79..3f8a5017caa 100644 --- a/oscar/apps/offer/migrations/0001_initial.py +++ b/oscar/apps/offer/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield -from decimal import Decimal import oscar.models.fields +from decimal import Decimal +import oscar.models.fields.autoslugfield from django.conf import settings @@ -19,11 +19,11 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Benefit', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('type', models.CharField(blank=True, max_length=128, verbose_name='Type', choices=[(b'Percentage', "Discount is a percentage off of the product's value"), (b'Absolute', "Discount is a fixed amount off of the product's value"), (b'Multibuy', 'Discount is to give the cheapest product for free'), (b'Fixed price', 'Get the products that meet the condition for a fixed price'), (b'Shipping absolute', 'Discount is a fixed amount of the shipping cost'), (b'Shipping fixed price', 'Get shipping for a fixed price'), (b'Shipping percentage', 'Discount is a percentage off of the shipping cost')])), - ('value', oscar.models.fields.PositiveDecimalField(null=True, verbose_name='Value', max_digits=12, decimal_places=2, blank=True)), - ('max_affected_items', models.PositiveIntegerField(help_text='Set this to prevent the discount consuming all items within the range that are in the basket.', null=True, verbose_name='Max Affected Items', blank=True)), - ('proxy_class', oscar.models.fields.NullCharField(default=None, max_length=255, unique=True, verbose_name='Custom class')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('type', models.CharField(verbose_name='Type', choices=[('Percentage', "Discount is a percentage off of the product's value"), ('Absolute', "Discount is a fixed amount off of the product's value"), ('Multibuy', 'Discount is to give the cheapest product for free'), ('Fixed price', 'Get the products that meet the condition for a fixed price'), ('Shipping absolute', 'Discount is a fixed amount of the shipping cost'), ('Shipping fixed price', 'Get shipping for a fixed price'), ('Shipping percentage', 'Discount is a percentage off of the shipping cost')], blank=True, max_length=128)), + ('value', oscar.models.fields.PositiveDecimalField(verbose_name='Value', max_digits=12, decimal_places=2, blank=True, null=True)), + ('max_affected_items', models.PositiveIntegerField(verbose_name='Max Affected Items', blank=True, help_text='Set this to prevent the discount consuming all items within the range that are in the basket.', null=True)), + ('proxy_class', oscar.models.fields.NullCharField(verbose_name='Custom class', default=None, max_length=255, unique=True)), ], options={ 'verbose_name': 'Benefit', @@ -34,10 +34,10 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Condition', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('type', models.CharField(blank=True, max_length=128, verbose_name='Type', choices=[(b'Count', 'Depends on number of items in basket that are in condition range'), (b'Value', 'Depends on value of items in basket that are in condition range'), (b'Coverage', 'Needs to contain a set number of DISTINCT items from the condition range')])), - ('value', oscar.models.fields.PositiveDecimalField(null=True, verbose_name='Value', max_digits=12, decimal_places=2, blank=True)), - ('proxy_class', oscar.models.fields.NullCharField(default=None, max_length=255, unique=True, verbose_name='Custom class')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('type', models.CharField(verbose_name='Type', choices=[('Count', 'Depends on number of items in basket that are in condition range'), ('Value', 'Depends on value of items in basket that are in condition range'), ('Coverage', 'Needs to contain a set number of DISTINCT items from the condition range')], blank=True, max_length=128)), + ('value', oscar.models.fields.PositiveDecimalField(verbose_name='Value', max_digits=12, decimal_places=2, blank=True, null=True)), + ('proxy_class', oscar.models.fields.NullCharField(verbose_name='Custom class', default=None, max_length=255, unique=True)), ], options={ 'verbose_name': 'Condition', @@ -48,48 +48,48 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ConditionalOffer', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(help_text="This is displayed within the customer's basket", unique=True, max_length=128, verbose_name='Name')), - ('slug', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('description', models.TextField(help_text='This is displayed on the offer browsing page', verbose_name='Description', blank=True)), - ('offer_type', models.CharField(default=b'Site', max_length=128, verbose_name='Type', choices=[(b'Site', 'Site offer - available to all users'), (b'Voucher', 'Voucher offer - only available after entering the appropriate voucher code'), (b'User', 'User offer - available to certain types of user'), (b'Session', 'Session offer - temporary offer, available for a user for the duration of their session')])), - ('status', models.CharField(default=b'Open', max_length=64, verbose_name='Status')), - ('priority', models.IntegerField(default=0, help_text='The highest priority offers are applied first', verbose_name='Priority')), - ('start_datetime', models.DateTimeField(null=True, verbose_name='Start date', blank=True)), - ('end_datetime', models.DateTimeField(help_text="Offers are active until the end of the 'end date'", null=True, verbose_name='End date', blank=True)), - ('max_global_applications', models.PositiveIntegerField(help_text='The number of times this offer can be used before it is unavailable', null=True, verbose_name='Max global applications', blank=True)), - ('max_user_applications', models.PositiveIntegerField(help_text='The number of times a single user can use this offer', null=True, verbose_name='Max user applications', blank=True)), - ('max_basket_applications', models.PositiveIntegerField(help_text='The number of times this offer can be applied to a basket (and order)', null=True, verbose_name='Max basket applications', blank=True)), - ('max_discount', models.DecimalField(decimal_places=2, max_digits=12, blank=True, help_text='When an offer has given more discount to orders than this threshold, then the offer becomes unavailable', null=True, verbose_name='Max discount')), - ('total_discount', models.DecimalField(default=Decimal('0.00'), verbose_name='Total Discount', max_digits=12, decimal_places=2)), - ('num_applications', models.PositiveIntegerField(default=0, verbose_name='Number of applications')), - ('num_orders', models.PositiveIntegerField(default=0, verbose_name='Number of Orders')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, help_text="This is displayed within the customer's basket", max_length=128)), + ('slug', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('description', models.TextField(verbose_name='Description', blank=True, help_text='This is displayed on the offer browsing page')), + ('offer_type', models.CharField(verbose_name='Type', choices=[('Site', 'Site offer - available to all users'), ('Voucher', 'Voucher offer - only available after entering the appropriate voucher code'), ('User', 'User offer - available to certain types of user'), ('Session', 'Session offer - temporary offer, available for a user for the duration of their session')], default='Site', max_length=128)), + ('status', models.CharField(verbose_name='Status', default='Open', max_length=64)), + ('priority', models.IntegerField(verbose_name='Priority', help_text='The highest priority offers are applied first', default=0)), + ('start_datetime', models.DateTimeField(verbose_name='Start date', blank=True, null=True)), + ('end_datetime', models.DateTimeField(verbose_name='End date', blank=True, help_text="Offers are active until the end of the 'end date'", null=True)), + ('max_global_applications', models.PositiveIntegerField(verbose_name='Max global applications', blank=True, help_text='The number of times this offer can be used before it is unavailable', null=True)), + ('max_user_applications', models.PositiveIntegerField(verbose_name='Max user applications', blank=True, help_text='The number of times a single user can use this offer', null=True)), + ('max_basket_applications', models.PositiveIntegerField(verbose_name='Max basket applications', blank=True, help_text='The number of times this offer can be applied to a basket (and order)', null=True)), + ('max_discount', models.DecimalField(verbose_name='Max discount', decimal_places=2, blank=True, max_digits=12, help_text='When an offer has given more discount to orders than this threshold, then the offer becomes unavailable', null=True)), + ('total_discount', models.DecimalField(verbose_name='Total Discount', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('num_applications', models.PositiveIntegerField(verbose_name='Number of applications', default=0)), + ('num_orders', models.PositiveIntegerField(verbose_name='Number of Orders', default=0)), ('redirect_url', oscar.models.fields.ExtendedURLField(verbose_name='URL redirect (optional)', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('benefit', models.ForeignKey(verbose_name='Benefit', to='offer.Benefit')), ('condition', models.ForeignKey(verbose_name='Condition', to='offer.Condition')), ], options={ - 'ordering': [b'-priority'], 'verbose_name': 'Conditional offer', 'verbose_name_plural': 'Conditional offers', + 'ordering': ['-priority'], }, bases=(models.Model,), ), migrations.CreateModel( name='Range', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), - ('slug', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), + ('slug', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), ('description', models.TextField(blank=True)), - ('is_public', models.BooleanField(default=False, help_text='Public ranges have a customer-facing page', verbose_name='Is public?')), - ('includes_all_products', models.BooleanField(default=False, verbose_name='Includes all products?')), - ('proxy_class', oscar.models.fields.NullCharField(default=None, max_length=255, unique=True, verbose_name='Custom class')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('classes', models.ManyToManyField(to='catalogue.ProductClass', verbose_name='Product Types', blank=True)), - ('excluded_products', models.ManyToManyField(to='catalogue.Product', verbose_name='Excluded Products', blank=True)), - ('included_categories', models.ManyToManyField(to='catalogue.Category', verbose_name='Included Categories', blank=True)), + ('is_public', models.BooleanField(verbose_name='Is public?', help_text='Public ranges have a customer-facing page', default=False)), + ('includes_all_products', models.BooleanField(verbose_name='Includes all products?', default=False)), + ('proxy_class', oscar.models.fields.NullCharField(verbose_name='Custom class', default=None, max_length=255, unique=True)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('classes', models.ManyToManyField(verbose_name='Product Types', blank=True, to='catalogue.ProductClass')), + ('excluded_products', models.ManyToManyField(verbose_name='Excluded Products', blank=True, to='catalogue.Product')), + ('included_categories', models.ManyToManyField(verbose_name='Included Categories', blank=True, to='catalogue.Category')), ], options={ 'verbose_name': 'Range', @@ -112,7 +112,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='RangeProduct', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('display_order', models.IntegerField(default=0)), ('product', models.ForeignKey(to='catalogue.Product')), ], @@ -123,7 +123,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='range', name='included_products', - field=models.ManyToManyField(to='catalogue.Product', verbose_name='Included Products', through='offer.RangeProduct', blank=True), + field=models.ManyToManyField(verbose_name='Included Products', through='offer.RangeProduct', blank=True, to='catalogue.Product'), preserve_default=True, ), migrations.AddField( @@ -134,28 +134,28 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='rangeproduct', - unique_together=set([(b'range', b'product')]), + unique_together=set([('range', 'product')]), ), migrations.CreateModel( name='RangeProductFileUpload', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('filepath', models.CharField(max_length=255, verbose_name='File Path')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('filepath', models.CharField(verbose_name='File Path', max_length=255)), ('size', models.PositiveIntegerField(verbose_name='Size')), - ('date_uploaded', models.DateTimeField(auto_now_add=True, verbose_name='Date Uploaded')), - ('status', models.CharField(default=b'Pending', max_length=32, verbose_name='Status', choices=[(b'Pending', b'Pending'), (b'Failed', b'Failed'), (b'Processed', b'Processed')])), - ('error_message', models.CharField(max_length=255, verbose_name='Error Message', blank=True)), - ('date_processed', models.DateTimeField(null=True, verbose_name='Date Processed')), - ('num_new_skus', models.PositiveIntegerField(null=True, verbose_name='Number of New SKUs')), - ('num_unknown_skus', models.PositiveIntegerField(null=True, verbose_name='Number of Unknown SKUs')), - ('num_duplicate_skus', models.PositiveIntegerField(null=True, verbose_name='Number of Duplicate SKUs')), + ('date_uploaded', models.DateTimeField(verbose_name='Date Uploaded', auto_now_add=True)), + ('status', models.CharField(verbose_name='Status', choices=[('Pending', 'Pending'), ('Failed', 'Failed'), ('Processed', 'Processed')], default='Pending', max_length=32)), + ('error_message', models.CharField(verbose_name='Error Message', blank=True, max_length=255)), + ('date_processed', models.DateTimeField(verbose_name='Date Processed', null=True)), + ('num_new_skus', models.PositiveIntegerField(verbose_name='Number of New SKUs', null=True)), + ('num_unknown_skus', models.PositiveIntegerField(verbose_name='Number of Unknown SKUs', null=True)), + ('num_duplicate_skus', models.PositiveIntegerField(verbose_name='Number of Duplicate SKUs', null=True)), ('range', models.ForeignKey(verbose_name='Range', to='offer.Range')), ('uploaded_by', models.ForeignKey(verbose_name='Uploaded By', to=settings.AUTH_USER_MODEL)), ], options={ - 'ordering': (b'-date_uploaded',), 'verbose_name': 'Range Product Uploaded File', 'verbose_name_plural': 'Range Product Uploaded Files', + 'ordering': ('-date_uploaded',), }, bases=(models.Model,), ), diff --git a/oscar/apps/order/migrations/0001_initial.py b/oscar/apps/order/migrations/0001_initial.py index f8c62066cd6..ce3f9c72008 100644 --- a/oscar/apps/order/migrations/0001_initial.py +++ b/oscar/apps/order/migrations/0001_initial.py @@ -2,8 +2,8 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield import oscar.models.fields +import oscar.models.fields.autoslugfield import django.db.models.deletion from django.conf import settings @@ -12,145 +12,145 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('address', '0001_initial'), - ('sites', '__latest__'), ('partner', '0001_initial'), - ('customer', '0001_initial'), - ('catalogue', '0001_initial'), ('basket', '0001_initial'), + ('catalogue', '0001_initial'), + ('customer', '0001_initial'), + ('sites', '0001_initial'), + ('address', '0001_initial'), ] operations = [ migrations.CreateModel( name='BillingAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ], options={ - 'abstract': False, 'verbose_name': 'Billing address', 'verbose_name_plural': 'Billing addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='CommunicationEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('date_created', models.DateTimeField(verbose_name='Date', auto_now_add=True)), ('event_type', models.ForeignKey(verbose_name='Event Type', to='customer.CommunicationEventType')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Communication Event', 'verbose_name_plural': 'Communication Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Line', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('partner_name', models.CharField(max_length=128, verbose_name='Partner name', blank=True)), - ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), - ('partner_line_reference', models.CharField(help_text='This is the item number that the partner uses within their system', max_length=128, verbose_name='Partner reference', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('partner_name', models.CharField(verbose_name='Partner name', blank=True, max_length=128)), + ('partner_sku', models.CharField(verbose_name='Partner SKU', max_length=128)), + ('partner_line_reference', models.CharField(verbose_name='Partner reference', blank=True, help_text='This is the item number that the partner uses within their system', max_length=128)), ('partner_line_notes', models.TextField(verbose_name='Partner Notes', blank=True)), - ('title', models.CharField(max_length=255, verbose_name='Title')), - ('upc', models.CharField(max_length=128, null=True, verbose_name='UPC', blank=True)), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), + ('title', models.CharField(verbose_name='Title', max_length=255)), + ('upc', models.CharField(verbose_name='UPC', blank=True, null=True, max_length=128)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), ('line_price_incl_tax', models.DecimalField(verbose_name='Price (inc. tax)', max_digits=12, decimal_places=2)), ('line_price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2)), ('line_price_before_discounts_incl_tax', models.DecimalField(verbose_name='Price before discounts (inc. tax)', max_digits=12, decimal_places=2)), ('line_price_before_discounts_excl_tax', models.DecimalField(verbose_name='Price before discounts (excl. tax)', max_digits=12, decimal_places=2)), - ('unit_cost_price', models.DecimalField(null=True, verbose_name='Unit Cost Price', max_digits=12, decimal_places=2, blank=True)), - ('unit_price_incl_tax', models.DecimalField(null=True, verbose_name='Unit Price (inc. tax)', max_digits=12, decimal_places=2, blank=True)), - ('unit_price_excl_tax', models.DecimalField(null=True, verbose_name='Unit Price (excl. tax)', max_digits=12, decimal_places=2, blank=True)), - ('unit_retail_price', models.DecimalField(null=True, verbose_name='Unit Retail Price', max_digits=12, decimal_places=2, blank=True)), - ('status', models.CharField(max_length=255, verbose_name='Status', blank=True)), - ('est_dispatch_date', models.DateField(null=True, verbose_name='Estimated Dispatch Date', blank=True)), - ('partner', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Partner', blank=True, to='partner.Partner', null=True)), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Product', blank=True, to='catalogue.Product', null=True)), - ('stockrecord', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Stock record', blank=True, to='partner.StockRecord', null=True)), + ('unit_cost_price', models.DecimalField(verbose_name='Unit Cost Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_price_incl_tax', models.DecimalField(verbose_name='Unit Price (inc. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_price_excl_tax', models.DecimalField(verbose_name='Unit Price (excl. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_retail_price', models.DecimalField(verbose_name='Unit Retail Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('status', models.CharField(verbose_name='Status', blank=True, max_length=255)), + ('est_dispatch_date', models.DateField(verbose_name='Estimated Dispatch Date', blank=True, null=True)), + ('partner', models.ForeignKey(verbose_name='Partner', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='partner.Partner', null=True)), + ('product', models.ForeignKey(verbose_name='Product', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='catalogue.Product', null=True)), + ('stockrecord', models.ForeignKey(verbose_name='Stock record', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='partner.StockRecord', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Order Line', 'verbose_name_plural': 'Order Lines', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='LineAttribute', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('type', models.CharField(max_length=128, verbose_name='Type')), - ('value', models.CharField(max_length=255, verbose_name='Value')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('type', models.CharField(verbose_name='Type', max_length=128)), + ('value', models.CharField(verbose_name='Value', max_length=255)), ('line', models.ForeignKey(verbose_name='Line', to='order.Line')), - ('option', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Option', to='catalogue.Option', null=True)), + ('option', models.ForeignKey(verbose_name='Option', on_delete=django.db.models.deletion.SET_NULL, to='catalogue.Option', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Line Attribute', 'verbose_name_plural': 'Line Attributes', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='LinePrice', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), ('price_incl_tax', models.DecimalField(verbose_name='Price (inc. tax)', max_digits=12, decimal_places=2)), ('price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_incl_tax', models.DecimalField(default=0, verbose_name='Shiping (inc. tax)', max_digits=12, decimal_places=2)), - ('shipping_excl_tax', models.DecimalField(default=0, verbose_name='Shipping (excl. tax)', max_digits=12, decimal_places=2)), + ('shipping_incl_tax', models.DecimalField(verbose_name='Shiping (inc. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_excl_tax', models.DecimalField(verbose_name='Shipping (excl. tax)', max_digits=12, decimal_places=2, default=0)), ('line', models.ForeignKey(verbose_name='Line', to='order.Line')), ], options={ - 'ordering': (b'id',), - 'abstract': False, 'verbose_name': 'Line Price', 'verbose_name_plural': 'Line Prices', + 'ordering': ('id',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Order', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('number', models.CharField(unique=True, max_length=128, verbose_name='Order number', db_index=True)), - ('currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('number', models.CharField(verbose_name='Order number', unique=True, db_index=True, max_length=128)), + ('currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), ('total_incl_tax', models.DecimalField(verbose_name='Order total (inc. tax)', max_digits=12, decimal_places=2)), ('total_excl_tax', models.DecimalField(verbose_name='Order total (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_incl_tax', models.DecimalField(default=0, verbose_name='Shipping charge (inc. tax)', max_digits=12, decimal_places=2)), - ('shipping_excl_tax', models.DecimalField(default=0, verbose_name='Shipping charge (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_method', models.CharField(max_length=128, verbose_name='Shipping method', blank=True)), - ('shipping_code', models.CharField(default=b'', max_length=128, blank=True)), - ('status', models.CharField(max_length=100, verbose_name='Status', blank=True)), - ('guest_email', models.EmailField(max_length=75, verbose_name='Guest email address', blank=True)), + ('shipping_incl_tax', models.DecimalField(verbose_name='Shipping charge (inc. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_excl_tax', models.DecimalField(verbose_name='Shipping charge (excl. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_method', models.CharField(verbose_name='Shipping method', blank=True, max_length=128)), + ('shipping_code', models.CharField(blank=True, default='', max_length=128)), + ('status', models.CharField(verbose_name='Status', blank=True, max_length=100)), + ('guest_email', models.EmailField(verbose_name='Guest email address', blank=True, max_length=75)), ('date_placed', models.DateTimeField(auto_now_add=True, db_index=True)), - ('basket', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Basket', blank=True, to='basket.Basket', null=True)), - ('billing_address', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Billing Address', blank=True, to='order.BillingAddress', null=True)), - ('site', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Site', to='sites.Site', null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True)), + ('basket', models.ForeignKey(verbose_name='Basket', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='basket.Basket', null=True)), + ('billing_address', models.ForeignKey(verbose_name='Billing Address', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='order.BillingAddress', null=True)), + ('site', models.ForeignKey(verbose_name='Site', on_delete=django.db.models.deletion.SET_NULL, to='sites.Site', null=True)), + ('user', models.ForeignKey(verbose_name='User', on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'ordering': [b'-date_placed'], - 'abstract': False, 'verbose_name': 'Order', 'verbose_name_plural': 'Orders', + 'ordering': ['-date_placed'], + 'abstract': False, }, bases=(models.Model,), ), @@ -175,63 +175,63 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OrderDiscount', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('category', models.CharField(default=b'Basket', max_length=64, verbose_name='Discount category', choices=[(b'Basket', 'Basket'), (b'Shipping', 'Shipping'), (b'Deferred', 'Deferred')])), - ('offer_id', models.PositiveIntegerField(null=True, verbose_name='Offer ID', blank=True)), - ('offer_name', models.CharField(db_index=True, max_length=128, verbose_name='Offer name', blank=True)), - ('voucher_id', models.PositiveIntegerField(null=True, verbose_name='Voucher ID', blank=True)), - ('voucher_code', models.CharField(db_index=True, max_length=128, verbose_name='Code', blank=True)), - ('frequency', models.PositiveIntegerField(null=True, verbose_name='Frequency')), - ('amount', models.DecimalField(default=0, verbose_name='Amount', max_digits=12, decimal_places=2)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('category', models.CharField(verbose_name='Discount category', choices=[('Basket', 'Basket'), ('Shipping', 'Shipping'), ('Deferred', 'Deferred')], default='Basket', max_length=64)), + ('offer_id', models.PositiveIntegerField(verbose_name='Offer ID', blank=True, null=True)), + ('offer_name', models.CharField(verbose_name='Offer name', blank=True, db_index=True, max_length=128)), + ('voucher_id', models.PositiveIntegerField(verbose_name='Voucher ID', blank=True, null=True)), + ('voucher_code', models.CharField(verbose_name='Code', blank=True, db_index=True, max_length=128)), + ('frequency', models.PositiveIntegerField(verbose_name='Frequency', null=True)), + ('amount', models.DecimalField(verbose_name='Amount', max_digits=12, decimal_places=2, default=0)), ('message', models.TextField(blank=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'abstract': False, 'verbose_name': 'Order Discount', 'verbose_name_plural': 'Order Discounts', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='OrderNote', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('note_type', models.CharField(max_length=128, verbose_name='Note Type', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('note_type', models.CharField(verbose_name='Note Type', blank=True, max_length=128)), ('message', models.TextField(verbose_name='Message')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date Updated')), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date Updated', auto_now=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Order Note', 'verbose_name_plural': 'Order Notes', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PaymentEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('amount', models.DecimalField(verbose_name='Amount', max_digits=12, decimal_places=2)), - ('reference', models.CharField(max_length=128, verbose_name='Reference', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ('reference', models.CharField(verbose_name='Reference', blank=True, max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Payment Event', 'verbose_name_plural': 'Payment Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PaymentEventQuantity', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ], options={ @@ -243,7 +243,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='paymentevent', name='lines', - field=models.ManyToManyField(to='order.Line', verbose_name='Lines', through='order.PaymentEventQuantity'), + field=models.ManyToManyField(verbose_name='Lines', through='order.PaymentEventQuantity', to='order.Line'), preserve_default=True, ), migrations.AddField( @@ -260,20 +260,20 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='paymenteventquantity', - unique_together=set([(b'event', b'line')]), + unique_together=set([('event', 'line')]), ), migrations.CreateModel( name='PaymentEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), ], options={ - 'ordering': (b'name',), - 'abstract': False, 'verbose_name': 'Payment Event Type', 'verbose_name_plural': 'Payment Event Types', + 'ordering': ('name',), + 'abstract': False, }, bases=(models.Model,), ), @@ -286,47 +286,47 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ShippingAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), - ('phone_number', oscar.models.fields.PhoneNumberField(help_text='In case we need to call you about your order', verbose_name='Phone number', blank=True)), - ('notes', models.TextField(help_text='Tell us anything we should know when delivering your order.', verbose_name='Instructions', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), + ('phone_number', oscar.models.fields.PhoneNumberField(verbose_name='Phone number', blank=True, help_text='In case we need to call you about your order')), + ('notes', models.TextField(verbose_name='Instructions', blank=True, help_text='Tell us anything we should know when delivering your order.')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ], options={ - 'abstract': False, 'verbose_name': 'Shipping address', 'verbose_name_plural': 'Shipping addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.AddField( model_name='order', name='shipping_address', - field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Shipping Address', blank=True, to='order.ShippingAddress', null=True), + field=models.ForeignKey(verbose_name='Shipping Address', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='order.ShippingAddress', null=True), preserve_default=True, ), migrations.CreateModel( name='ShippingEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('notes', models.TextField(help_text='This could be the dispatch reference, or a tracking number', verbose_name='Event notes', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('notes', models.TextField(verbose_name='Event notes', blank=True, help_text='This could be the dispatch reference, or a tracking number')), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Shipping Event', 'verbose_name_plural': 'Shipping Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), @@ -339,7 +339,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ShippingEventQuantity', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ], options={ @@ -351,7 +351,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='shippingevent', name='lines', - field=models.ManyToManyField(to='order.Line', verbose_name='Lines', through='order.ShippingEventQuantity'), + field=models.ManyToManyField(verbose_name='Lines', through='order.ShippingEventQuantity', to='order.Line'), preserve_default=True, ), migrations.AddField( @@ -368,20 +368,20 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='shippingeventquantity', - unique_together=set([(b'event', b'line')]), + unique_together=set([('event', 'line')]), ), migrations.CreateModel( name='ShippingEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(unique=True, max_length=255, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=255)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), ], options={ - 'ordering': (b'name',), - 'abstract': False, 'verbose_name': 'Shipping Event Type', 'verbose_name_plural': 'Shipping Event Types', + 'ordering': ('name',), + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/partner/migrations/0001_initial.py b/oscar/apps/partner/migrations/0001_initial.py index 903b7cdd48a..ba23626fdbc 100644 --- a/oscar/apps/partner/migrations/0001_initial.py +++ b/oscar/apps/partner/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals from django.db import models, migrations +import oscar.models.fields import oscar.models.fields.autoslugfield from django.conf import settings -import oscar.models.fields class Migration(migrations.Migration): @@ -19,81 +19,81 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Partner', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), - ('name', models.CharField(max_length=128, verbose_name='Name', blank=True)), - ('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL, null=True, verbose_name='Users', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', blank=True, max_length=128)), + ('users', models.ManyToManyField(verbose_name='Users', blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Fulfillment partner', 'verbose_name_plural': 'Fulfillment partners', - 'permissions': ((b'dashboard_access', b'Can access dashboard'),), + 'permissions': (('dashboard_access', 'Can access dashboard'),), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PartnerAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')), ], options={ - 'abstract': False, 'verbose_name': 'Partner address', 'verbose_name_plural': 'Partner addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='StockAlert', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('threshold', models.PositiveIntegerField(verbose_name='Threshold')), - ('status', models.CharField(default=b'Open', max_length=128, verbose_name='Status', choices=[(b'Open', 'Open'), (b'Closed', 'Closed')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_closed', models.DateTimeField(null=True, verbose_name='Date Closed', blank=True)), + ('status', models.CharField(verbose_name='Status', choices=[('Open', 'Open'), ('Closed', 'Closed')], default='Open', max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_closed', models.DateTimeField(verbose_name='Date Closed', blank=True, null=True)), ], options={ - 'ordering': (b'-date_created',), - 'abstract': False, 'verbose_name': 'Stock alert', 'verbose_name_plural': 'Stock alerts', + 'ordering': ('-date_created',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='StockRecord', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), - ('price_currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), - ('price_excl_tax', models.DecimalField(null=True, verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2, blank=True)), - ('price_retail', models.DecimalField(null=True, verbose_name='Price (retail)', max_digits=12, decimal_places=2, blank=True)), - ('cost_price', models.DecimalField(null=True, verbose_name='Cost Price', max_digits=12, decimal_places=2, blank=True)), - ('num_in_stock', models.PositiveIntegerField(null=True, verbose_name='Number in stock', blank=True)), - ('num_allocated', models.IntegerField(null=True, verbose_name='Number allocated', blank=True)), - ('low_stock_threshold', models.PositiveIntegerField(null=True, verbose_name='Low Stock Threshold', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated', db_index=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('partner_sku', models.CharField(verbose_name='Partner SKU', max_length=128)), + ('price_currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), + ('price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('price_retail', models.DecimalField(verbose_name='Price (retail)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('cost_price', models.DecimalField(verbose_name='Cost Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('num_in_stock', models.PositiveIntegerField(verbose_name='Number in stock', blank=True, null=True)), + ('num_allocated', models.IntegerField(verbose_name='Number allocated', blank=True, null=True)), + ('low_stock_threshold', models.PositiveIntegerField(verbose_name='Low Stock Threshold', blank=True, null=True)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date updated', auto_now=True, db_index=True)), ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')), ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')), ], options={ - 'abstract': False, 'verbose_name': 'Stock record', 'verbose_name_plural': 'Stock records', + 'abstract': False, }, bases=(models.Model,), ), @@ -105,6 +105,6 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='stockrecord', - unique_together=set([(b'partner', b'partner_sku')]), + unique_together=set([('partner', 'partner_sku')]), ), ] diff --git a/oscar/apps/payment/migrations/0001_initial.py b/oscar/apps/payment/migrations/0001_initial.py index d47ff804ff5..a3925a6e6f5 100644 --- a/oscar/apps/payment/migrations/0001_initial.py +++ b/oscar/apps/payment/migrations/0001_initial.py @@ -10,59 +10,59 @@ class Migration(migrations.Migration): dependencies = [ - ('order', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('order', '0001_initial'), ] operations = [ migrations.CreateModel( name='Bankcard', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('card_type', models.CharField(max_length=128, verbose_name='Card Type')), - ('name', models.CharField(max_length=255, verbose_name='Name', blank=True)), - ('number', models.CharField(max_length=32, verbose_name='Number')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('card_type', models.CharField(verbose_name='Card Type', max_length=128)), + ('name', models.CharField(verbose_name='Name', blank=True, max_length=255)), + ('number', models.CharField(verbose_name='Number', max_length=32)), ('expiry_date', models.DateField(verbose_name='Expiry Date')), - ('partner_reference', models.CharField(max_length=255, verbose_name='Partner Reference', blank=True)), + ('partner_reference', models.CharField(verbose_name='Partner Reference', blank=True, max_length=255)), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'Bankcard', 'verbose_name_plural': 'Bankcards', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Source', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), - ('amount_allocated', models.DecimalField(default=Decimal('0.00'), verbose_name='Amount Allocated', max_digits=12, decimal_places=2)), - ('amount_debited', models.DecimalField(default=Decimal('0.00'), verbose_name='Amount Debited', max_digits=12, decimal_places=2)), - ('amount_refunded', models.DecimalField(default=Decimal('0.00'), verbose_name='Amount Refunded', max_digits=12, decimal_places=2)), - ('reference', models.CharField(max_length=128, verbose_name='Reference', blank=True)), - ('label', models.CharField(max_length=128, verbose_name='Label', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), + ('amount_allocated', models.DecimalField(verbose_name='Amount Allocated', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('amount_debited', models.DecimalField(verbose_name='Amount Debited', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('amount_refunded', models.DecimalField(verbose_name='Amount Refunded', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('reference', models.CharField(verbose_name='Reference', blank=True, max_length=128)), + ('label', models.CharField(verbose_name='Label', blank=True, max_length=128)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'abstract': False, 'verbose_name': 'Source', 'verbose_name_plural': 'Sources', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='SourceType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, help_text='This is used within forms to identify this source type', unique=True, verbose_name='Code')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', help_text='This is used within forms to identify this source type', unique=True)), ], options={ - 'abstract': False, 'verbose_name': 'Source Type', 'verbose_name_plural': 'Source Types', + 'abstract': False, }, bases=(models.Model,), ), @@ -75,19 +75,19 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Transaction', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('txn_type', models.CharField(max_length=128, verbose_name='Type', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('txn_type', models.CharField(verbose_name='Type', blank=True, max_length=128)), ('amount', models.DecimalField(verbose_name='Amount', max_digits=12, decimal_places=2)), - ('reference', models.CharField(max_length=128, verbose_name='Reference', blank=True)), - ('status', models.CharField(max_length=128, verbose_name='Status', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('reference', models.CharField(verbose_name='Reference', blank=True, max_length=128)), + ('status', models.CharField(verbose_name='Status', blank=True, max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('source', models.ForeignKey(verbose_name='Source', to='payment.Source')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Transaction', 'verbose_name_plural': 'Transactions', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/promotions/migrations/0001_initial.py b/oscar/apps/promotions/migrations/0001_initial.py index 7eed58b6d52..2534912b702 100644 --- a/oscar/apps/promotions/migrations/0001_initial.py +++ b/oscar/apps/promotions/migrations/0001_initial.py @@ -9,21 +9,21 @@ class Migration(migrations.Migration): dependencies = [ ('catalogue', '0001_initial'), - ('contenttypes', '__latest__'), + ('contenttypes', '0001_initial'), ] operations = [ migrations.CreateModel( name='AutomaticProductList', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255, verbose_name='Title')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Title', max_length=255)), ('description', models.TextField(verbose_name='Description', blank=True)), ('link_url', oscar.models.fields.ExtendedURLField(verbose_name='Link URL', blank=True)), - ('link_text', models.CharField(max_length=255, verbose_name='Link text', blank=True)), + ('link_text', models.CharField(verbose_name='Link text', blank=True, max_length=255)), ('date_created', models.DateTimeField(auto_now_add=True)), - ('method', models.CharField(max_length=128, verbose_name='Method', choices=[(b'Bestselling', 'Bestselling products'), (b'RecentlyAdded', 'Recently added products')])), - ('num_products', models.PositiveSmallIntegerField(default=4, verbose_name='Number of Products')), + ('method', models.CharField(verbose_name='Method', choices=[('Bestselling', 'Bestselling products'), ('RecentlyAdded', 'Recently added products')], max_length=128)), + ('num_products', models.PositiveSmallIntegerField(verbose_name='Number of Products', default=4)), ], options={ 'verbose_name': 'Automatic product list', @@ -34,11 +34,11 @@ class Migration(migrations.Migration): migrations.CreateModel( name='HandPickedProductList', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255, verbose_name='Title')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Title', max_length=255)), ('description', models.TextField(verbose_name='Description', blank=True)), ('link_url', oscar.models.fields.ExtendedURLField(verbose_name='Link URL', blank=True)), - ('link_text', models.CharField(max_length=255, verbose_name='Link text', blank=True)), + ('link_text', models.CharField(verbose_name='Link text', blank=True, max_length=255)), ('date_created', models.DateTimeField(auto_now_add=True)), ], options={ @@ -50,10 +50,10 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Image', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('link_url', oscar.models.fields.ExtendedURLField(help_text='This is where this promotion links to', verbose_name='Link URL', blank=True)), - ('image', models.ImageField(upload_to=b'images/promotions/', max_length=255, verbose_name='Image')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('link_url', oscar.models.fields.ExtendedURLField(verbose_name='Link URL', blank=True, help_text='This is where this promotion links to')), + ('image', models.ImageField(verbose_name='Image', upload_to='images/promotions/', max_length=255)), ('date_created', models.DateTimeField(auto_now_add=True)), ], options={ @@ -65,31 +65,31 @@ class Migration(migrations.Migration): migrations.CreateModel( name='KeywordPromotion', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('object_id', models.PositiveIntegerField()), - ('position', models.CharField(help_text=b'Position on page', max_length=100, verbose_name='Position')), - ('display_order', models.PositiveIntegerField(default=0, verbose_name='Display Order')), - ('clicks', models.PositiveIntegerField(default=0, verbose_name='Clicks')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('keyword', models.CharField(max_length=200, verbose_name='Keyword')), - ('filter', models.CharField(max_length=200, verbose_name='Filter', blank=True)), + ('position', models.CharField(verbose_name='Position', help_text='Position on page', max_length=100)), + ('display_order', models.PositiveIntegerField(verbose_name='Display Order', default=0)), + ('clicks', models.PositiveIntegerField(verbose_name='Clicks', default=0)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('keyword', models.CharField(verbose_name='Keyword', max_length=200)), + ('filter', models.CharField(verbose_name='Filter', blank=True, max_length=200)), ('content_type', models.ForeignKey(to='contenttypes.ContentType')), ], options={ - 'ordering': [b'-clicks'], - 'abstract': False, 'verbose_name': 'Keyword Promotion', 'verbose_name_plural': 'Keyword Promotions', + 'ordering': ['-clicks'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='MultiImage', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), ('date_created', models.DateTimeField(auto_now_add=True)), - ('images', models.ManyToManyField(to='promotions.Image', null=True, blank=True)), + ('images', models.ManyToManyField(blank=True, to='promotions.Image', null=True)), ], options={ 'verbose_name': 'Multi Image', @@ -100,20 +100,20 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OrderedProduct', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('display_order', models.PositiveIntegerField(default=0, verbose_name='Display Order')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('display_order', models.PositiveIntegerField(verbose_name='Display Order', default=0)), ], options={ - 'ordering': (b'display_order',), 'verbose_name': 'Ordered product', 'verbose_name_plural': 'Ordered product', + 'ordering': ('display_order',), }, bases=(models.Model,), ), migrations.AddField( model_name='handpickedproductlist', name='products', - field=models.ManyToManyField(to='catalogue.Product', null=True, verbose_name='Products', through='promotions.OrderedProduct', blank=True), + field=models.ManyToManyField(verbose_name='Products', through='promotions.OrderedProduct', blank=True, to='catalogue.Product', null=True), preserve_default=True, ), migrations.AddField( @@ -130,47 +130,47 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='orderedproduct', - unique_together=set([(b'list', b'product')]), + unique_together=set([('list', 'product')]), ), migrations.CreateModel( name='OrderedProductList', fields=[ - ('handpickedproductlist_ptr', models.OneToOneField(auto_created=True, primary_key=True, serialize=False, to='promotions.HandPickedProductList')), - ('display_order', models.PositiveIntegerField(default=0, verbose_name='Display Order')), + ('handpickedproductlist_ptr', models.OneToOneField(primary_key=True, serialize=False, auto_created=True, to='promotions.HandPickedProductList')), + ('display_order', models.PositiveIntegerField(verbose_name='Display Order', default=0)), ], options={ - 'ordering': (b'display_order',), 'verbose_name': 'Ordered Product List', 'verbose_name_plural': 'Ordered Product Lists', + 'ordering': ('display_order',), }, bases=('promotions.handpickedproductlist',), ), migrations.CreateModel( name='PagePromotion', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('object_id', models.PositiveIntegerField()), - ('position', models.CharField(help_text=b'Position on page', max_length=100, verbose_name='Position')), - ('display_order', models.PositiveIntegerField(default=0, verbose_name='Display Order')), - ('clicks', models.PositiveIntegerField(default=0, verbose_name='Clicks')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('page_url', oscar.models.fields.ExtendedURLField(max_length=128, verbose_name='Page URL', verify_exists=True, db_index=True)), + ('position', models.CharField(verbose_name='Position', help_text='Position on page', max_length=100)), + ('display_order', models.PositiveIntegerField(verbose_name='Display Order', default=0)), + ('clicks', models.PositiveIntegerField(verbose_name='Clicks', default=0)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('page_url', oscar.models.fields.ExtendedURLField(verbose_name='Page URL', verify_exists=True, db_index=True, max_length=128)), ('content_type', models.ForeignKey(to='contenttypes.ContentType')), ], options={ - 'ordering': [b'-clicks'], - 'abstract': False, 'verbose_name': 'Page Promotion', 'verbose_name_plural': 'Page Promotions', + 'ordering': ['-clicks'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='RawHTML', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('display_type', models.CharField(help_text='This can be used to have different types of HTML blocks (eg different widths)', max_length=128, verbose_name='Display type', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), + ('display_type', models.CharField(verbose_name='Display type', blank=True, help_text='This can be used to have different types of HTML blocks (eg different widths)', max_length=128)), ('body', models.TextField(verbose_name='HTML')), ('date_created', models.DateTimeField(auto_now_add=True)), ], @@ -183,8 +183,8 @@ class Migration(migrations.Migration): migrations.CreateModel( name='SingleProduct', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', max_length=128)), ('description', models.TextField(verbose_name='Description', blank=True)), ('date_created', models.DateTimeField(auto_now_add=True)), ('product', models.ForeignKey(to='catalogue.Product')), @@ -198,9 +198,9 @@ class Migration(migrations.Migration): migrations.CreateModel( name='TabbedBlock', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=255, verbose_name='Title')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Title', max_length=255)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ], options={ 'verbose_name': 'Tabbed Block', diff --git a/oscar/apps/shipping/migrations/0001_initial.py b/oscar/apps/shipping/migrations/0001_initial.py index c1ad09117da..282eca78b8a 100644 --- a/oscar/apps/shipping/migrations/0001_initial.py +++ b/oscar/apps/shipping/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield from decimal import Decimal import django.core.validators +import oscar.models.fields.autoslugfield class Migration(migrations.Migration): @@ -17,53 +17,53 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OrderAndItemCharges', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('price_per_order', models.DecimalField(default=Decimal('0.00'), verbose_name='Price per order', max_digits=12, decimal_places=2)), - ('price_per_item', models.DecimalField(default=Decimal('0.00'), verbose_name='Price per item', max_digits=12, decimal_places=2)), - ('free_shipping_threshold', models.DecimalField(null=True, verbose_name='Free Shipping', max_digits=12, decimal_places=2, blank=True)), - ('countries', models.ManyToManyField(to='address.Country', null=True, verbose_name='Countries', blank=True)), + ('price_per_order', models.DecimalField(verbose_name='Price per order', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('price_per_item', models.DecimalField(verbose_name='Price per item', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('free_shipping_threshold', models.DecimalField(verbose_name='Free Shipping', max_digits=12, decimal_places=2, blank=True, null=True)), + ('countries', models.ManyToManyField(verbose_name='Countries', blank=True, to='address.Country', null=True)), ], options={ - 'ordering': [b'name'], - 'abstract': False, 'verbose_name': 'Order and Item Charge', 'verbose_name_plural': 'Order and Item Charges', + 'ordering': ['name'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='WeightBand', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('upper_limit', models.DecimalField(help_text='Enter upper limit of this weight band in kg. The lower limit will be determined by the other weight bands.', verbose_name='Upper Limit', max_digits=12, decimal_places=3, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))])), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('upper_limit', models.DecimalField(verbose_name='Upper Limit', max_digits=12, decimal_places=3, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Enter upper limit of this weight band in kg. The lower limit will be determined by the other weight bands.')), ('charge', models.DecimalField(verbose_name='Charge', max_digits=12, decimal_places=2, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))])), ], options={ - 'ordering': [b'method', b'upper_limit'], - 'abstract': False, 'verbose_name': 'Weight Band', 'verbose_name_plural': 'Weight Bands', + 'ordering': ['method', 'upper_limit'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='WeightBased', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('default_weight', models.DecimalField(decimal_places=3, default=Decimal('0.000'), max_digits=12, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Default product weight in kg when no weight attribute is defined', verbose_name='Default Weight')), - ('countries', models.ManyToManyField(to='address.Country', null=True, verbose_name='Countries', blank=True)), + ('default_weight', models.DecimalField(verbose_name='Default Weight', decimal_places=3, default=Decimal('0.000'), max_digits=12, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Default product weight in kg when no weight attribute is defined')), + ('countries', models.ManyToManyField(verbose_name='Countries', blank=True, to='address.Country', null=True)), ], options={ - 'ordering': [b'name'], - 'abstract': False, 'verbose_name': 'Weight-based Shipping Method', 'verbose_name_plural': 'Weight-based Shipping Methods', + 'ordering': ['name'], + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/voucher/migrations/0001_initial.py b/oscar/apps/voucher/migrations/0001_initial.py index 0a4f4d3e864..dc5d6c2bc41 100644 --- a/oscar/apps/voucher/migrations/0001_initial.py +++ b/oscar/apps/voucher/migrations/0001_initial.py @@ -18,39 +18,39 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Voucher', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(help_text='This will be shown in the checkout and basket once the voucher is entered', max_length=128, verbose_name='Name')), - ('code', models.CharField(help_text='Case insensitive / No spaces allowed', unique=True, max_length=128, verbose_name='Code', db_index=True)), - ('usage', models.CharField(default=b'Multi-use', max_length=128, verbose_name='Usage', choices=[(b'Single use', 'Can be used once by one customer'), (b'Multi-use', 'Can be used multiple times by multiple customers'), (b'Once per customer', 'Can only be used once per customer')])), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', help_text='This will be shown in the checkout and basket once the voucher is entered', max_length=128)), + ('code', models.CharField(verbose_name='Code', unique=True, help_text='Case insensitive / No spaces allowed', db_index=True, max_length=128)), + ('usage', models.CharField(verbose_name='Usage', choices=[('Single use', 'Can be used once by one customer'), ('Multi-use', 'Can be used multiple times by multiple customers'), ('Once per customer', 'Can only be used once per customer')], default='Multi-use', max_length=128)), ('start_datetime', models.DateTimeField(verbose_name='Start datetime')), ('end_datetime', models.DateTimeField(verbose_name='End datetime')), - ('num_basket_additions', models.PositiveIntegerField(default=0, verbose_name='Times added to basket')), - ('num_orders', models.PositiveIntegerField(default=0, verbose_name='Times on orders')), - ('total_discount', models.DecimalField(default=Decimal('0.00'), verbose_name='Total discount', max_digits=12, decimal_places=2)), + ('num_basket_additions', models.PositiveIntegerField(verbose_name='Times added to basket', default=0)), + ('num_orders', models.PositiveIntegerField(verbose_name='Times on orders', default=0)), + ('total_discount', models.DecimalField(verbose_name='Total discount', max_digits=12, decimal_places=2, default=Decimal('0.00'))), ('date_created', models.DateField(auto_now_add=True)), - ('offers', models.ManyToManyField(to='offer.ConditionalOffer', verbose_name='Offers')), + ('offers', models.ManyToManyField(verbose_name='Offers', to='offer.ConditionalOffer')), ], options={ - 'abstract': False, - 'get_latest_by': b'date_created', 'verbose_name': 'Voucher', 'verbose_name_plural': 'Vouchers', + 'abstract': False, + 'get_latest_by': 'date_created', }, bases=(models.Model,), ), migrations.CreateModel( name='VoucherApplication', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('date_created', models.DateField(verbose_name='Date Created', auto_now_add=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ('user', models.ForeignKey(verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True)), ('voucher', models.ForeignKey(verbose_name='Voucher', to='voucher.Voucher')), ], options={ - 'abstract': False, 'verbose_name': 'Voucher Application', 'verbose_name_plural': 'Voucher Applications', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/oscar/apps/wishlists/migrations/0001_initial.py b/oscar/apps/wishlists/migrations/0001_initial.py index 99fa5adfdda..4c43250327b 100644 --- a/oscar/apps/wishlists/migrations/0001_initial.py +++ b/oscar/apps/wishlists/migrations/0001_initial.py @@ -17,31 +17,31 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Line', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), - ('title', models.CharField(max_length=255, verbose_name='Title')), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Product', blank=True, to='catalogue.Product', null=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), + ('title', models.CharField(verbose_name='Title', max_length=255)), + ('product', models.ForeignKey(verbose_name='Product', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='catalogue.Product', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Wish list line', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='WishList', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(default='Default', max_length=255, verbose_name='Name')), - ('key', models.CharField(verbose_name='Key', unique=True, max_length=6, editable=False, db_index=True)), - ('visibility', models.CharField(default=b'Private', max_length=20, verbose_name='Visibility', choices=[(b'Private', 'Private - Only the owner can see the wish list'), (b'Shared', 'Shared - Only the owner and people with access to the obfuscated link can see the wish list'), (b'Public', 'Public - Everybody can see the wish list')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', default='Default', max_length=255)), + ('key', models.CharField(editable=False, verbose_name='Key', unique=True, db_index=True, max_length=6)), + ('visibility', models.CharField(verbose_name='Visibility', choices=[('Private', 'Private - Only the owner can see the wish list'), ('Shared', 'Shared - Only the owner and people with access to the obfuscated link can see the wish list'), ('Public', 'Public - Everybody can see the wish list')], default='Private', max_length=20)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), ('owner', models.ForeignKey(verbose_name='Owner', to=settings.AUTH_USER_MODEL)), ], options={ - 'ordering': (b'owner', b'date_created'), - 'abstract': False, 'verbose_name': 'Wish List', + 'ordering': ('owner', 'date_created'), + 'abstract': False, }, bases=(models.Model,), ), @@ -53,6 +53,6 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='line', - unique_together=set([(b'wishlist', b'product')]), + unique_together=set([('wishlist', 'product')]), ), ] diff --git a/sites/demo/apps/order/migrations/0001_initial.py b/sites/demo/apps/order/migrations/0001_initial.py index f8c62066cd6..ce3f9c72008 100644 --- a/sites/demo/apps/order/migrations/0001_initial.py +++ b/sites/demo/apps/order/migrations/0001_initial.py @@ -2,8 +2,8 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield import oscar.models.fields +import oscar.models.fields.autoslugfield import django.db.models.deletion from django.conf import settings @@ -12,145 +12,145 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('address', '0001_initial'), - ('sites', '__latest__'), ('partner', '0001_initial'), - ('customer', '0001_initial'), - ('catalogue', '0001_initial'), ('basket', '0001_initial'), + ('catalogue', '0001_initial'), + ('customer', '0001_initial'), + ('sites', '0001_initial'), + ('address', '0001_initial'), ] operations = [ migrations.CreateModel( name='BillingAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ], options={ - 'abstract': False, 'verbose_name': 'Billing address', 'verbose_name_plural': 'Billing addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='CommunicationEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('date_created', models.DateTimeField(verbose_name='Date', auto_now_add=True)), ('event_type', models.ForeignKey(verbose_name='Event Type', to='customer.CommunicationEventType')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Communication Event', 'verbose_name_plural': 'Communication Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Line', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('partner_name', models.CharField(max_length=128, verbose_name='Partner name', blank=True)), - ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), - ('partner_line_reference', models.CharField(help_text='This is the item number that the partner uses within their system', max_length=128, verbose_name='Partner reference', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('partner_name', models.CharField(verbose_name='Partner name', blank=True, max_length=128)), + ('partner_sku', models.CharField(verbose_name='Partner SKU', max_length=128)), + ('partner_line_reference', models.CharField(verbose_name='Partner reference', blank=True, help_text='This is the item number that the partner uses within their system', max_length=128)), ('partner_line_notes', models.TextField(verbose_name='Partner Notes', blank=True)), - ('title', models.CharField(max_length=255, verbose_name='Title')), - ('upc', models.CharField(max_length=128, null=True, verbose_name='UPC', blank=True)), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), + ('title', models.CharField(verbose_name='Title', max_length=255)), + ('upc', models.CharField(verbose_name='UPC', blank=True, null=True, max_length=128)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), ('line_price_incl_tax', models.DecimalField(verbose_name='Price (inc. tax)', max_digits=12, decimal_places=2)), ('line_price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2)), ('line_price_before_discounts_incl_tax', models.DecimalField(verbose_name='Price before discounts (inc. tax)', max_digits=12, decimal_places=2)), ('line_price_before_discounts_excl_tax', models.DecimalField(verbose_name='Price before discounts (excl. tax)', max_digits=12, decimal_places=2)), - ('unit_cost_price', models.DecimalField(null=True, verbose_name='Unit Cost Price', max_digits=12, decimal_places=2, blank=True)), - ('unit_price_incl_tax', models.DecimalField(null=True, verbose_name='Unit Price (inc. tax)', max_digits=12, decimal_places=2, blank=True)), - ('unit_price_excl_tax', models.DecimalField(null=True, verbose_name='Unit Price (excl. tax)', max_digits=12, decimal_places=2, blank=True)), - ('unit_retail_price', models.DecimalField(null=True, verbose_name='Unit Retail Price', max_digits=12, decimal_places=2, blank=True)), - ('status', models.CharField(max_length=255, verbose_name='Status', blank=True)), - ('est_dispatch_date', models.DateField(null=True, verbose_name='Estimated Dispatch Date', blank=True)), - ('partner', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Partner', blank=True, to='partner.Partner', null=True)), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Product', blank=True, to='catalogue.Product', null=True)), - ('stockrecord', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Stock record', blank=True, to='partner.StockRecord', null=True)), + ('unit_cost_price', models.DecimalField(verbose_name='Unit Cost Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_price_incl_tax', models.DecimalField(verbose_name='Unit Price (inc. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_price_excl_tax', models.DecimalField(verbose_name='Unit Price (excl. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('unit_retail_price', models.DecimalField(verbose_name='Unit Retail Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('status', models.CharField(verbose_name='Status', blank=True, max_length=255)), + ('est_dispatch_date', models.DateField(verbose_name='Estimated Dispatch Date', blank=True, null=True)), + ('partner', models.ForeignKey(verbose_name='Partner', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='partner.Partner', null=True)), + ('product', models.ForeignKey(verbose_name='Product', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='catalogue.Product', null=True)), + ('stockrecord', models.ForeignKey(verbose_name='Stock record', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='partner.StockRecord', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Order Line', 'verbose_name_plural': 'Order Lines', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='LineAttribute', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('type', models.CharField(max_length=128, verbose_name='Type')), - ('value', models.CharField(max_length=255, verbose_name='Value')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('type', models.CharField(verbose_name='Type', max_length=128)), + ('value', models.CharField(verbose_name='Value', max_length=255)), ('line', models.ForeignKey(verbose_name='Line', to='order.Line')), - ('option', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Option', to='catalogue.Option', null=True)), + ('option', models.ForeignKey(verbose_name='Option', on_delete=django.db.models.deletion.SET_NULL, to='catalogue.Option', null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Line Attribute', 'verbose_name_plural': 'Line Attributes', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='LinePrice', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('quantity', models.PositiveIntegerField(verbose_name='Quantity', default=1)), ('price_incl_tax', models.DecimalField(verbose_name='Price (inc. tax)', max_digits=12, decimal_places=2)), ('price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_incl_tax', models.DecimalField(default=0, verbose_name='Shiping (inc. tax)', max_digits=12, decimal_places=2)), - ('shipping_excl_tax', models.DecimalField(default=0, verbose_name='Shipping (excl. tax)', max_digits=12, decimal_places=2)), + ('shipping_incl_tax', models.DecimalField(verbose_name='Shiping (inc. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_excl_tax', models.DecimalField(verbose_name='Shipping (excl. tax)', max_digits=12, decimal_places=2, default=0)), ('line', models.ForeignKey(verbose_name='Line', to='order.Line')), ], options={ - 'ordering': (b'id',), - 'abstract': False, 'verbose_name': 'Line Price', 'verbose_name_plural': 'Line Prices', + 'ordering': ('id',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Order', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('number', models.CharField(unique=True, max_length=128, verbose_name='Order number', db_index=True)), - ('currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('number', models.CharField(verbose_name='Order number', unique=True, db_index=True, max_length=128)), + ('currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), ('total_incl_tax', models.DecimalField(verbose_name='Order total (inc. tax)', max_digits=12, decimal_places=2)), ('total_excl_tax', models.DecimalField(verbose_name='Order total (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_incl_tax', models.DecimalField(default=0, verbose_name='Shipping charge (inc. tax)', max_digits=12, decimal_places=2)), - ('shipping_excl_tax', models.DecimalField(default=0, verbose_name='Shipping charge (excl. tax)', max_digits=12, decimal_places=2)), - ('shipping_method', models.CharField(max_length=128, verbose_name='Shipping method', blank=True)), - ('shipping_code', models.CharField(default=b'', max_length=128, blank=True)), - ('status', models.CharField(max_length=100, verbose_name='Status', blank=True)), - ('guest_email', models.EmailField(max_length=75, verbose_name='Guest email address', blank=True)), + ('shipping_incl_tax', models.DecimalField(verbose_name='Shipping charge (inc. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_excl_tax', models.DecimalField(verbose_name='Shipping charge (excl. tax)', max_digits=12, decimal_places=2, default=0)), + ('shipping_method', models.CharField(verbose_name='Shipping method', blank=True, max_length=128)), + ('shipping_code', models.CharField(blank=True, default='', max_length=128)), + ('status', models.CharField(verbose_name='Status', blank=True, max_length=100)), + ('guest_email', models.EmailField(verbose_name='Guest email address', blank=True, max_length=75)), ('date_placed', models.DateTimeField(auto_now_add=True, db_index=True)), - ('basket', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Basket', blank=True, to='basket.Basket', null=True)), - ('billing_address', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Billing Address', blank=True, to='order.BillingAddress', null=True)), - ('site', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Site', to='sites.Site', null=True)), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True)), + ('basket', models.ForeignKey(verbose_name='Basket', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='basket.Basket', null=True)), + ('billing_address', models.ForeignKey(verbose_name='Billing Address', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='order.BillingAddress', null=True)), + ('site', models.ForeignKey(verbose_name='Site', on_delete=django.db.models.deletion.SET_NULL, to='sites.Site', null=True)), + ('user', models.ForeignKey(verbose_name='User', on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'ordering': [b'-date_placed'], - 'abstract': False, 'verbose_name': 'Order', 'verbose_name_plural': 'Orders', + 'ordering': ['-date_placed'], + 'abstract': False, }, bases=(models.Model,), ), @@ -175,63 +175,63 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OrderDiscount', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('category', models.CharField(default=b'Basket', max_length=64, verbose_name='Discount category', choices=[(b'Basket', 'Basket'), (b'Shipping', 'Shipping'), (b'Deferred', 'Deferred')])), - ('offer_id', models.PositiveIntegerField(null=True, verbose_name='Offer ID', blank=True)), - ('offer_name', models.CharField(db_index=True, max_length=128, verbose_name='Offer name', blank=True)), - ('voucher_id', models.PositiveIntegerField(null=True, verbose_name='Voucher ID', blank=True)), - ('voucher_code', models.CharField(db_index=True, max_length=128, verbose_name='Code', blank=True)), - ('frequency', models.PositiveIntegerField(null=True, verbose_name='Frequency')), - ('amount', models.DecimalField(default=0, verbose_name='Amount', max_digits=12, decimal_places=2)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('category', models.CharField(verbose_name='Discount category', choices=[('Basket', 'Basket'), ('Shipping', 'Shipping'), ('Deferred', 'Deferred')], default='Basket', max_length=64)), + ('offer_id', models.PositiveIntegerField(verbose_name='Offer ID', blank=True, null=True)), + ('offer_name', models.CharField(verbose_name='Offer name', blank=True, db_index=True, max_length=128)), + ('voucher_id', models.PositiveIntegerField(verbose_name='Voucher ID', blank=True, null=True)), + ('voucher_code', models.CharField(verbose_name='Code', blank=True, db_index=True, max_length=128)), + ('frequency', models.PositiveIntegerField(verbose_name='Frequency', null=True)), + ('amount', models.DecimalField(verbose_name='Amount', max_digits=12, decimal_places=2, default=0)), ('message', models.TextField(blank=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'abstract': False, 'verbose_name': 'Order Discount', 'verbose_name_plural': 'Order Discounts', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='OrderNote', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('note_type', models.CharField(max_length=128, verbose_name='Note Type', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('note_type', models.CharField(verbose_name='Note Type', blank=True, max_length=128)), ('message', models.TextField(verbose_name='Message')), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date Updated')), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date Updated', auto_now=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Order Note', 'verbose_name_plural': 'Order Notes', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PaymentEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('amount', models.DecimalField(verbose_name='Amount', max_digits=12, decimal_places=2)), - ('reference', models.CharField(max_length=128, verbose_name='Reference', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ('reference', models.CharField(verbose_name='Reference', blank=True, max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Payment Event', 'verbose_name_plural': 'Payment Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PaymentEventQuantity', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ], options={ @@ -243,7 +243,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='paymentevent', name='lines', - field=models.ManyToManyField(to='order.Line', verbose_name='Lines', through='order.PaymentEventQuantity'), + field=models.ManyToManyField(verbose_name='Lines', through='order.PaymentEventQuantity', to='order.Line'), preserve_default=True, ), migrations.AddField( @@ -260,20 +260,20 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='paymenteventquantity', - unique_together=set([(b'event', b'line')]), + unique_together=set([('event', 'line')]), ), migrations.CreateModel( name='PaymentEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), ], options={ - 'ordering': (b'name',), - 'abstract': False, 'verbose_name': 'Payment Event Type', 'verbose_name_plural': 'Payment Event Types', + 'ordering': ('name',), + 'abstract': False, }, bases=(models.Model,), ), @@ -286,47 +286,47 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ShippingAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), - ('phone_number', oscar.models.fields.PhoneNumberField(help_text='In case we need to call you about your order', verbose_name='Phone number', blank=True)), - ('notes', models.TextField(help_text='Tell us anything we should know when delivering your order.', verbose_name='Instructions', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), + ('phone_number', oscar.models.fields.PhoneNumberField(verbose_name='Phone number', blank=True, help_text='In case we need to call you about your order')), + ('notes', models.TextField(verbose_name='Instructions', blank=True, help_text='Tell us anything we should know when delivering your order.')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ], options={ - 'abstract': False, 'verbose_name': 'Shipping address', 'verbose_name_plural': 'Shipping addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.AddField( model_name='order', name='shipping_address', - field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Shipping Address', blank=True, to='order.ShippingAddress', null=True), + field=models.ForeignKey(verbose_name='Shipping Address', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='order.ShippingAddress', null=True), preserve_default=True, ), migrations.CreateModel( name='ShippingEvent', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('notes', models.TextField(help_text='This could be the dispatch reference, or a tracking number', verbose_name='Event notes', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('notes', models.TextField(verbose_name='Event notes', blank=True, help_text='This could be the dispatch reference, or a tracking number')), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), ('order', models.ForeignKey(verbose_name='Order', to='order.Order')), ], options={ - 'ordering': [b'-date_created'], - 'abstract': False, 'verbose_name': 'Shipping Event', 'verbose_name_plural': 'Shipping Events', + 'ordering': ['-date_created'], + 'abstract': False, }, bases=(models.Model,), ), @@ -339,7 +339,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ShippingEventQuantity', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ], options={ @@ -351,7 +351,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='shippingevent', name='lines', - field=models.ManyToManyField(to='order.Line', verbose_name='Lines', through='order.ShippingEventQuantity'), + field=models.ManyToManyField(verbose_name='Lines', through='order.ShippingEventQuantity', to='order.Line'), preserve_default=True, ), migrations.AddField( @@ -368,20 +368,20 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='shippingeventquantity', - unique_together=set([(b'event', b'line')]), + unique_together=set([('event', 'line')]), ), migrations.CreateModel( name='ShippingEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(unique=True, max_length=255, verbose_name='Name')), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=255)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), ], options={ - 'ordering': (b'name',), - 'abstract': False, 'verbose_name': 'Shipping Event Type', 'verbose_name_plural': 'Shipping Event Types', + 'ordering': ('name',), + 'abstract': False, }, bases=(models.Model,), ), diff --git a/sites/demo/apps/shipping/migrations/0001_initial.py b/sites/demo/apps/shipping/migrations/0001_initial.py index c1ad09117da..282eca78b8a 100644 --- a/sites/demo/apps/shipping/migrations/0001_initial.py +++ b/sites/demo/apps/shipping/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals from django.db import models, migrations -import oscar.models.fields.autoslugfield from decimal import Decimal import django.core.validators +import oscar.models.fields.autoslugfield class Migration(migrations.Migration): @@ -17,53 +17,53 @@ class Migration(migrations.Migration): migrations.CreateModel( name='OrderAndItemCharges', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('price_per_order', models.DecimalField(default=Decimal('0.00'), verbose_name='Price per order', max_digits=12, decimal_places=2)), - ('price_per_item', models.DecimalField(default=Decimal('0.00'), verbose_name='Price per item', max_digits=12, decimal_places=2)), - ('free_shipping_threshold', models.DecimalField(null=True, verbose_name='Free Shipping', max_digits=12, decimal_places=2, blank=True)), - ('countries', models.ManyToManyField(to='address.Country', null=True, verbose_name='Countries', blank=True)), + ('price_per_order', models.DecimalField(verbose_name='Price per order', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('price_per_item', models.DecimalField(verbose_name='Price per item', max_digits=12, decimal_places=2, default=Decimal('0.00'))), + ('free_shipping_threshold', models.DecimalField(verbose_name='Free Shipping', max_digits=12, decimal_places=2, blank=True, null=True)), + ('countries', models.ManyToManyField(verbose_name='Countries', blank=True, to='address.Country', null=True)), ], options={ - 'ordering': [b'name'], - 'abstract': False, 'verbose_name': 'Order and Item Charge', 'verbose_name_plural': 'Order and Item Charges', + 'ordering': ['name'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='WeightBand', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('upper_limit', models.DecimalField(help_text='Enter upper limit of this weight band in kg. The lower limit will be determined by the other weight bands.', verbose_name='Upper Limit', max_digits=12, decimal_places=3, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))])), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('upper_limit', models.DecimalField(verbose_name='Upper Limit', max_digits=12, decimal_places=3, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Enter upper limit of this weight band in kg. The lower limit will be determined by the other weight bands.')), ('charge', models.DecimalField(verbose_name='Charge', max_digits=12, decimal_places=2, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))])), ], options={ - 'ordering': [b'method', b'upper_limit'], - 'abstract': False, 'verbose_name': 'Weight Band', 'verbose_name_plural': 'Weight Bands', + 'ordering': ['method', 'upper_limit'], + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='WeightBased', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Slug')), - ('name', models.CharField(unique=True, max_length=128, verbose_name='Name')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Slug', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', unique=True, max_length=128)), ('description', models.TextField(verbose_name='Description', blank=True)), - ('default_weight', models.DecimalField(decimal_places=3, default=Decimal('0.000'), max_digits=12, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Default product weight in kg when no weight attribute is defined', verbose_name='Default Weight')), - ('countries', models.ManyToManyField(to='address.Country', null=True, verbose_name='Countries', blank=True)), + ('default_weight', models.DecimalField(verbose_name='Default Weight', decimal_places=3, default=Decimal('0.000'), max_digits=12, validators=[django.core.validators.MinValueValidator(Decimal('0.00'))], help_text='Default product weight in kg when no weight attribute is defined')), + ('countries', models.ManyToManyField(verbose_name='Countries', blank=True, to='address.Country', null=True)), ], options={ - 'ordering': [b'name'], - 'abstract': False, 'verbose_name': 'Weight-based Shipping Method', 'verbose_name_plural': 'Weight-based Shipping Methods', + 'ordering': ['name'], + 'abstract': False, }, bases=(models.Model,), ), diff --git a/tests/_site/apps/customer/migrations/0001_initial.py b/tests/_site/apps/customer/migrations/0001_initial.py index ce650a8ce01..a2da92f7cf4 100644 --- a/tests/_site/apps/customer/migrations/0001_initial.py +++ b/tests/_site/apps/customer/migrations/0001_initial.py @@ -17,80 +17,80 @@ class Migration(migrations.Migration): migrations.CreateModel( name='CommunicationEventType', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, separator='_', blank=True, help_text='Code used for looking up this event programmatically', unique=True, verbose_name='Code')), - ('name', models.CharField(help_text='This is just used for organisational purposes', max_length=255, verbose_name='Name')), - ('category', models.CharField(default='Order related', max_length=255, verbose_name='Category')), - ('email_subject_template', models.CharField(max_length=255, null=True, verbose_name='Email Subject Template', blank=True)), - ('email_body_template', models.TextField(null=True, verbose_name='Email Body Template', blank=True)), - ('email_body_html_template', models.TextField(help_text='HTML template', null=True, verbose_name='Email Body HTML Template', blank=True)), - ('sms_template', models.CharField(help_text='SMS template', max_length=170, null=True, verbose_name='SMS Template', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date Updated')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, separator='_', populate_from='name', help_text='Code used for looking up this event programmatically', unique=True)), + ('name', models.CharField(verbose_name='Name', help_text='This is just used for organisational purposes', max_length=255)), + ('category', models.CharField(verbose_name='Category', default='Order related', max_length=255)), + ('email_subject_template', models.CharField(verbose_name='Email Subject Template', blank=True, null=True, max_length=255)), + ('email_body_template', models.TextField(verbose_name='Email Body Template', blank=True, null=True)), + ('email_body_html_template', models.TextField(verbose_name='Email Body HTML Template', blank=True, help_text='HTML template', null=True)), + ('sms_template', models.CharField(verbose_name='SMS Template', blank=True, help_text='SMS template', null=True, max_length=170)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date Updated', auto_now=True)), ], options={ - 'abstract': False, 'verbose_name': 'Communication event type', 'verbose_name_plural': 'Communication event types', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Email', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('subject', models.TextField(max_length=255, verbose_name='Subject')), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('subject', models.TextField(verbose_name='Subject', max_length=255)), ('body_text', models.TextField(verbose_name='Body Text')), ('body_html', models.TextField(verbose_name='Body HTML', blank=True)), - ('date_sent', models.DateTimeField(auto_now_add=True, verbose_name='Date Sent')), + ('date_sent', models.DateTimeField(verbose_name='Date Sent', auto_now_add=True)), ('user', models.ForeignKey(verbose_name='User', to=settings.AUTH_USER_MODEL)), ], options={ - 'abstract': False, 'verbose_name': 'Email', 'verbose_name_plural': 'Emails', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='Notification', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('subject', models.CharField(max_length=255)), ('body', models.TextField()), - ('category', models.CharField(max_length=255, blank=True)), - ('location', models.CharField(default=b'Inbox', max_length=32, choices=[(b'Inbox', 'Inbox'), (b'Archive', 'Archive')])), + ('category', models.CharField(blank=True, max_length=255)), + ('location', models.CharField(choices=[('Inbox', 'Inbox'), ('Archive', 'Archive')], default='Inbox', max_length=32)), ('date_sent', models.DateTimeField(auto_now_add=True)), - ('date_read', models.DateTimeField(null=True, blank=True)), + ('date_read', models.DateTimeField(blank=True, null=True)), ('recipient', models.ForeignKey(to=settings.AUTH_USER_MODEL)), ('sender', models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'ordering': (b'-date_sent',), - 'abstract': False, 'verbose_name': 'Notification', 'verbose_name_plural': 'Notifications', + 'ordering': ('-date_sent',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='ProductAlert', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('email', models.EmailField(db_index=True, max_length=75, verbose_name='Email', blank=True)), - ('key', models.CharField(db_index=True, max_length=128, verbose_name='Key', blank=True)), - ('status', models.CharField(default=b'Active', max_length=20, verbose_name='Status', choices=[(b'Unconfirmed', 'Not yet confirmed'), (b'Active', 'Active'), (b'Cancelled', 'Cancelled'), (b'Closed', 'Closed')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_confirmed', models.DateTimeField(null=True, verbose_name='Date confirmed', blank=True)), - ('date_cancelled', models.DateTimeField(null=True, verbose_name='Date cancelled', blank=True)), - ('date_closed', models.DateTimeField(null=True, verbose_name='Date closed', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('email', models.EmailField(verbose_name='Email', blank=True, db_index=True, max_length=75)), + ('key', models.CharField(verbose_name='Key', blank=True, db_index=True, max_length=128)), + ('status', models.CharField(verbose_name='Status', choices=[('Unconfirmed', 'Not yet confirmed'), ('Active', 'Active'), ('Cancelled', 'Cancelled'), ('Closed', 'Closed')], default='Active', max_length=20)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_confirmed', models.DateTimeField(verbose_name='Date confirmed', blank=True, null=True)), + ('date_cancelled', models.DateTimeField(verbose_name='Date cancelled', blank=True, null=True)), + ('date_closed', models.DateTimeField(verbose_name='Date closed', blank=True, null=True)), ('product', models.ForeignKey(to='catalogue.Product')), ('user', models.ForeignKey(verbose_name='User', blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Product alert', 'verbose_name_plural': 'Product alerts', + 'abstract': False, }, bases=(models.Model,), ), diff --git a/tests/_site/apps/partner/migrations/0001_initial.py b/tests/_site/apps/partner/migrations/0001_initial.py index 903b7cdd48a..ba23626fdbc 100644 --- a/tests/_site/apps/partner/migrations/0001_initial.py +++ b/tests/_site/apps/partner/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals from django.db import models, migrations +import oscar.models.fields import oscar.models.fields.autoslugfield from django.conf import settings -import oscar.models.fields class Migration(migrations.Migration): @@ -19,81 +19,81 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Partner', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from=b'name', editable=False, max_length=128, blank=True, unique=True, verbose_name='Code')), - ('name', models.CharField(max_length=128, verbose_name='Name', blank=True)), - ('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL, null=True, verbose_name='Users', blank=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)), + ('name', models.CharField(verbose_name='Name', blank=True, max_length=128)), + ('users', models.ManyToManyField(verbose_name='Users', blank=True, to=settings.AUTH_USER_MODEL, null=True)), ], options={ - 'abstract': False, 'verbose_name': 'Fulfillment partner', 'verbose_name_plural': 'Fulfillment partners', - 'permissions': ((b'dashboard_access', b'Can access dashboard'),), + 'permissions': (('dashboard_access', 'Can access dashboard'),), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='PartnerAddress', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('title', models.CharField(blank=True, max_length=64, verbose_name='Title', choices=[(b'Mr', 'Mr'), (b'Miss', 'Miss'), (b'Mrs', 'Mrs'), (b'Ms', 'Ms'), (b'Dr', 'Dr')])), - ('first_name', models.CharField(max_length=255, verbose_name='First name', blank=True)), - ('last_name', models.CharField(max_length=255, verbose_name='Last name', blank=True)), - ('line1', models.CharField(max_length=255, verbose_name='First line of address')), - ('line2', models.CharField(max_length=255, verbose_name='Second line of address', blank=True)), - ('line3', models.CharField(max_length=255, verbose_name='Third line of address', blank=True)), - ('line4', models.CharField(max_length=255, verbose_name='City', blank=True)), - ('state', models.CharField(max_length=255, verbose_name='State/County', blank=True)), - ('postcode', oscar.models.fields.UppercaseCharField(max_length=64, verbose_name='Post/Zip-code', blank=True)), - ('search_text', models.TextField(verbose_name='Search text - used only for searching addresses', editable=False)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)), + ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)), + ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)), + ('line1', models.CharField(verbose_name='First line of address', max_length=255)), + ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)), + ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)), + ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)), + ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)), + ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)), + ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')), ('country', models.ForeignKey(verbose_name='Country', to='address.Country')), ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')), ], options={ - 'abstract': False, 'verbose_name': 'Partner address', 'verbose_name_plural': 'Partner addresses', + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='StockAlert', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), ('threshold', models.PositiveIntegerField(verbose_name='Threshold')), - ('status', models.CharField(default=b'Open', max_length=128, verbose_name='Status', choices=[(b'Open', 'Open'), (b'Closed', 'Closed')])), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), - ('date_closed', models.DateTimeField(null=True, verbose_name='Date Closed', blank=True)), + ('status', models.CharField(verbose_name='Status', choices=[('Open', 'Open'), ('Closed', 'Closed')], default='Open', max_length=128)), + ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)), + ('date_closed', models.DateTimeField(verbose_name='Date Closed', blank=True, null=True)), ], options={ - 'ordering': (b'-date_created',), - 'abstract': False, 'verbose_name': 'Stock alert', 'verbose_name_plural': 'Stock alerts', + 'ordering': ('-date_created',), + 'abstract': False, }, bases=(models.Model,), ), migrations.CreateModel( name='StockRecord', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), - ('price_currency', models.CharField(default=b'GBP', max_length=12, verbose_name='Currency')), - ('price_excl_tax', models.DecimalField(null=True, verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2, blank=True)), - ('price_retail', models.DecimalField(null=True, verbose_name='Price (retail)', max_digits=12, decimal_places=2, blank=True)), - ('cost_price', models.DecimalField(null=True, verbose_name='Cost Price', max_digits=12, decimal_places=2, blank=True)), - ('num_in_stock', models.PositiveIntegerField(null=True, verbose_name='Number in stock', blank=True)), - ('num_allocated', models.IntegerField(null=True, verbose_name='Number allocated', blank=True)), - ('low_stock_threshold', models.PositiveIntegerField(null=True, verbose_name='Low Stock Threshold', blank=True)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated', db_index=True)), + ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)), + ('partner_sku', models.CharField(verbose_name='Partner SKU', max_length=128)), + ('price_currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)), + ('price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('price_retail', models.DecimalField(verbose_name='Price (retail)', max_digits=12, decimal_places=2, blank=True, null=True)), + ('cost_price', models.DecimalField(verbose_name='Cost Price', max_digits=12, decimal_places=2, blank=True, null=True)), + ('num_in_stock', models.PositiveIntegerField(verbose_name='Number in stock', blank=True, null=True)), + ('num_allocated', models.IntegerField(verbose_name='Number allocated', blank=True, null=True)), + ('low_stock_threshold', models.PositiveIntegerField(verbose_name='Low Stock Threshold', blank=True, null=True)), + ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)), + ('date_updated', models.DateTimeField(verbose_name='Date updated', auto_now=True, db_index=True)), ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')), ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')), ], options={ - 'abstract': False, 'verbose_name': 'Stock record', 'verbose_name_plural': 'Stock records', + 'abstract': False, }, bases=(models.Model,), ), @@ -105,6 +105,6 @@ class Migration(migrations.Migration): ), migrations.AlterUniqueTogether( name='stockrecord', - unique_together=set([(b'partner', b'partner_sku')]), + unique_together=set([('partner', 'partner_sku')]), ), ] diff --git a/tests/_site/apps/partner/migrations/0002_stockrecord_offer_name.py b/tests/_site/apps/partner/migrations/0002_stockrecord_offer_name.py index 03afdfc118e..852284828a5 100644 --- a/tests/_site/apps/partner/migrations/0002_stockrecord_offer_name.py +++ b/tests/_site/apps/partner/migrations/0002_stockrecord_offer_name.py @@ -14,7 +14,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='stockrecord', name='offer_name', - field=models.CharField(max_length=128, null=True, blank=True), + field=models.CharField(blank=True, max_length=128, null=True), preserve_default=True, ), ]