class Migration(migrations.Migration): dependencies = [ ('dj_address', '0002_auto_20160213_1726'), ('order', '0007_auto_20181115_1953'), ] operations = [ migrations.AddField( model_name='billingaddress', name='address', field=dj_address.models.AddressField( blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address'), ), migrations.AddField( model_name='billingaddress', name='unit_designator', field=models.CharField(blank=True, max_length=32, null=True), ), migrations.AddField( model_name='shippingaddress', name='address', field=dj_address.models.AddressField( blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address'), ), migrations.AddField( model_name='shippingaddress', name='unit_designator', field=models.CharField(blank=True, max_length=32, null=True), ), ]
class Migration(migrations.Migration): replaces = [('partner', '0001_initial'), ('partner', '0002_auto_20141007_2032'), ('partner', '0003_auto_20150604_1450'), ('partner', '0004_auto_20160107_1755'), ('partner', '0005_auto_20181115_1953'), ('partner', '0006_auto_20190221_0223'), ('partner', '0007_auto_20190221_0313'), ('partner', '0008_auto_20190221_0347')] initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('dj_address', '0002_auto_20160213_1726'), ('address', '0001_initial'), ('catalogue', '0001_initial'), ] operations = [ migrations.CreateModel( name='Partner', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('code', oscar.models.fields.autoslugfield.AutoSlugField( blank=True, editable=False, max_length=128, populate_from='name', unique=True, verbose_name='Code')), ('name', models.CharField(blank=True, max_length=128, verbose_name='Name')), ('users', models.ManyToManyField(blank=True, null=True, related_name='partners', to=settings.AUTH_USER_MODEL, verbose_name='Users')), ], options={ 'verbose_name_plural': 'Fulfillment partners', 'verbose_name': 'Fulfillment partner', 'abstract': False, 'permissions': (('dashboard_access', 'Can access dashboard'), ), }, ), migrations.CreateModel( name='PartnerAddress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], max_length=64, verbose_name='Title')), ('first_name', models.CharField(blank=True, max_length=255, verbose_name='First name')), ('last_name', models.CharField(blank=True, max_length=255, verbose_name='Last name')), ('partner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='addresses', to='partner.Partner', verbose_name='Partner')), ('address', dj_address.models.AddressField( on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address')), ('unit_designator', models.CharField(blank=True, max_length=32, null=True)), ], options={ 'verbose_name_plural': 'Partner addresses', 'verbose_name': 'Partner address', 'abstract': False, }, ), migrations.CreateModel( name='StockAlert', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('threshold', models.PositiveIntegerField(verbose_name='Threshold')), ('status', models.CharField(choices=[('Open', 'Open'), ('Closed', 'Closed')], default='Open', max_length=128, verbose_name='Status')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), ('date_closed', models.DateTimeField(blank=True, null=True, verbose_name='Date Closed')), ], options={ 'ordering': ('-date_created', ), 'verbose_name_plural': 'Stock alerts', 'verbose_name': 'Stock alert', 'abstract': False, }, ), migrations.CreateModel( name='StockRecord', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), ('price_currency', models.CharField( default=oscar.core.utils.get_default_currency, max_length=12, verbose_name='Currency')), ('price_excl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Price (excl. tax)')), ('price_retail', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Price (retail)')), ('cost_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Cost Price')), ('num_in_stock', models.PositiveIntegerField(blank=True, null=True, verbose_name='Number in stock')), ('num_allocated', models.IntegerField(blank=True, null=True, verbose_name='Number allocated')), ('low_stock_threshold', models.PositiveIntegerField( blank=True, null=True, verbose_name='Low Stock Threshold')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), ('date_updated', models.DateTimeField(auto_now=True, db_index=True, verbose_name='Date updated')), ('partner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stockrecords', to='partner.Partner', verbose_name='Partner')), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stockrecords', to='catalogue.Product', verbose_name='Product')), ], options={ 'verbose_name_plural': 'Stock records', 'verbose_name': 'Stock record', 'abstract': False, }, ), migrations.AlterUniqueTogether( name='stockrecord', unique_together={('partner', 'partner_sku')}, ), migrations.AddField( model_name='stockalert', name='stockrecord', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='alerts', to='partner.StockRecord', verbose_name='Stock Record'), ), migrations.AlterField( model_name='partner', name='users', field=models.ManyToManyField(blank=True, related_name='partners', to=settings.AUTH_USER_MODEL, verbose_name='Users'), ), migrations.AlterModelOptions( name='partner', options={ 'ordering': ('name', 'code'), 'permissions': (('dashboard_access', 'Can access dashboard'), ), 'verbose_name': 'Fulfillment partner', 'verbose_name_plural': 'Fulfillment partners' }, ), migrations.AlterField( model_name='partner', name='name', field=models.CharField(blank=True, db_index=True, max_length=128, verbose_name='Name'), ), migrations.AlterField( model_name='stockalert', name='date_created', field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date Created'), ), ]
class Migration(migrations.Migration): replaces = [('address', '0001_initial'), ('address', '0002_auto_20150927_1547'), ('address', '0003_auto_20150927_1551'), ('address', '0004_auto_20170226_1122'), ('address', '0005_regenerate_user_address_hashes'), ('address', '0006_auto_20181115_1953'), ('address', '0007_auto_20190221_0223'), ('address', '0008_auto_20190221_0313'), ('address', '0009_auto_20190221_0347')] initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('dj_address', '0002_auto_20160213_1726'), ] operations = [ migrations.CreateModel( name='Country', fields=[ ('iso_3166_1_a2', models.CharField(max_length=2, primary_key=True, serialize=False, verbose_name='ISO 3166-1 alpha-2')), ('iso_3166_1_a3', models.CharField(blank=True, max_length=3, verbose_name='ISO 3166-1 alpha-3')), ('iso_3166_1_numeric', models.CharField(blank=True, max_length=3, verbose_name='ISO 3166-1 numeric')), ('printable_name', models.CharField(db_index=True, max_length=128, verbose_name='Country name')), ('name', models.CharField(max_length=128, verbose_name='Official name')), ('display_order', models.PositiveSmallIntegerField( db_index=True, default=0, help_text= 'Higher the number, higher the country in the list.', verbose_name='Display order')), ('is_shipping_country', models.BooleanField(db_index=True, default=False, verbose_name='Is shipping country')), ], options={ 'ordering': ('-display_order', 'printable_name'), 'verbose_name_plural': 'Countries', 'verbose_name': 'Country', 'abstract': False, }, ), migrations.CreateModel( name='UserAddress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], max_length=64, verbose_name='Title')), ('first_name', models.CharField(blank=True, max_length=255, verbose_name='First name')), ('last_name', models.CharField(blank=True, max_length=255, verbose_name='Last name')), ('address', dj_address.models.AddressField( blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address')), ('unit_designator', models.CharField(blank=True, max_length=32, null=True)), ('phone_number', phonenumber_field.modelfields.PhoneNumberField( blank=True, help_text='In case we need to call you about your order', max_length=128, verbose_name='Phone number')), ('notes', models.TextField( blank=True, help_text= 'Tell us anything we should know when delivering your order.', verbose_name='Instructions')), ('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_as_shipping_address', models.PositiveIntegerField( default=0, verbose_name='Number of Orders as Shipping Address')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='addresses', to=settings.AUTH_USER_MODEL, verbose_name='User')), ('num_orders_as_billing_address', models.PositiveIntegerField( default=0, verbose_name='Number of Orders as Billing Address')), ], options={ 'ordering': ['-num_orders'], 'verbose_name_plural': 'User addresses', 'verbose_name': 'User address', 'abstract': False, }, ), migrations.AlterModelOptions( name='useraddress', options={ 'ordering': ['-num_orders_as_shipping_address'], 'verbose_name': 'User address', 'verbose_name_plural': 'User addresses' }, ), migrations.AlterField( model_name='useraddress', name='address', field=dj_address.models.AddressField( default=1, on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address'), preserve_default=False, ), ]
class Migration(migrations.Migration): replaces = [('order', '0001_initial'), ('order', '0002_auto_20141007_2032'), ('order', '0003_auto_20150113_1629'), ('order', '0004_auto_20160111_1108'), ('order', '0005_update_email_length'), ('order', '0006_orderstatuschange'), ('order', '0007_auto_20181115_1953'), ('order', '0008_auto_20190221_0223'), ('order', '0009_auto_20190221_0313'), ('order', '0010_auto_20190221_0347')] initial = True dependencies = [ ('customer', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('dj_address', '0002_auto_20160213_1726'), ('partner', '0001_initial'), ('address', '0001_initial'), ('basket', '0002_auto_20140827_1705'), ('catalogue', '0001_initial'), ('sites', '0001_initial'), ] operations = [ migrations.CreateModel( name='BillingAddress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], max_length=64, verbose_name='Title')), ('first_name', models.CharField(blank=True, max_length=255, verbose_name='First name')), ('last_name', models.CharField(blank=True, max_length=255, verbose_name='Last name')), ('address', dj_address.models.AddressField(on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address')), ('unit_designator', models.CharField(blank=True, max_length=32, null=True)), ], options={ 'verbose_name_plural': 'Billing addresses', 'verbose_name': 'Billing address', 'abstract': False, }, ), migrations.CreateModel( name='CommunicationEvent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date')), ('event_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='customer.CommunicationEventType', verbose_name='Event Type')), ], options={ 'ordering': ['-date_created'], 'verbose_name_plural': 'Communication Events', 'verbose_name': 'Communication Event', 'abstract': False, }, ), migrations.CreateModel( name='Line', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('partner_name', models.CharField(blank=True, max_length=128, verbose_name='Partner name')), ('partner_sku', models.CharField(max_length=128, verbose_name='Partner SKU')), ('partner_line_reference', models.CharField(blank=True, help_text='This is the item number that the partner uses within their system', max_length=128, verbose_name='Partner reference')), ('partner_line_notes', models.TextField(blank=True, verbose_name='Partner Notes')), ('title', models.CharField(max_length=255, verbose_name='Title')), ('upc', models.CharField(blank=True, max_length=128, null=True, verbose_name='UPC')), ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), ('line_price_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (inc. tax)')), ('line_price_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (excl. tax)')), ('line_price_before_discounts_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price before discounts (inc. tax)')), ('line_price_before_discounts_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price before discounts (excl. tax)')), ('unit_cost_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Cost Price')), ('unit_price_incl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Price (inc. tax)')), ('unit_price_excl_tax', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Price (excl. tax)')), ('unit_retail_price', models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True, verbose_name='Unit Retail Price')), ('status', models.CharField(blank=True, max_length=255, verbose_name='Status')), ('est_dispatch_date', models.DateField(blank=True, null=True, verbose_name='Estimated Dispatch Date')), ], options={ 'verbose_name_plural': 'Order Lines', 'verbose_name': 'Order Line', 'abstract': False, }, ), migrations.CreateModel( name='LineAttribute', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('type', models.CharField(max_length=128, verbose_name='Type')), ('value', models.CharField(max_length=255, verbose_name='Value')), ('line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attributes', to='order.Line', verbose_name='Line')), ('option', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='line_attributes', to='catalogue.Option', verbose_name='Option')), ], options={ 'verbose_name_plural': 'Line Attributes', 'verbose_name': 'Line Attribute', 'abstract': False, }, ), migrations.CreateModel( name='LinePrice', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), ('price_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (inc. tax)')), ('price_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Price (excl. tax)')), ('shipping_incl_tax', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='Shiping (inc. tax)')), ('shipping_excl_tax', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='Shipping (excl. tax)')), ('line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prices', to='order.Line', verbose_name='Line')), ], options={ 'ordering': ('id',), 'verbose_name_plural': 'Line Prices', 'verbose_name': 'Line Price', 'abstract': False, }, ), migrations.CreateModel( name='Order', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('number', models.CharField(db_index=True, max_length=128, unique=True, verbose_name='Order number')), ('currency', models.CharField(default='GBP', max_length=12, verbose_name='Currency')), ('total_incl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Order total (inc. tax)')), ('total_excl_tax', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Order total (excl. tax)')), ('shipping_incl_tax', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='Shipping charge (inc. tax)')), ('shipping_excl_tax', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='Shipping charge (excl. tax)')), ('shipping_method', models.CharField(blank=True, max_length=128, verbose_name='Shipping method')), ('shipping_code', models.CharField(blank=True, default='', max_length=128)), ('status', models.CharField(blank=True, max_length=100, verbose_name='Status')), ('guest_email', models.EmailField(blank=True, max_length=75, verbose_name='Guest email address')), ('date_placed', models.DateTimeField(auto_now_add=True, db_index=True)), ('basket', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='basket.Basket', verbose_name='Basket')), ('billing_address', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='order.BillingAddress', verbose_name='Billing Address')), ], options={ 'ordering': ['-date_placed'], 'verbose_name_plural': 'Orders', 'verbose_name': 'Order', 'abstract': False, }, ), migrations.CreateModel( name='OrderDiscount', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('category', models.CharField(choices=[('Basket', 'Basket'), ('Shipping', 'Shipping'), ('Deferred', 'Deferred')], default='Basket', max_length=64, verbose_name='Discount category')), ('offer_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='Offer ID')), ('offer_name', models.CharField(blank=True, db_index=True, max_length=128, verbose_name='Offer name')), ('voucher_id', models.PositiveIntegerField(blank=True, null=True, verbose_name='Voucher ID')), ('voucher_code', models.CharField(blank=True, db_index=True, max_length=128, verbose_name='Code')), ('frequency', models.PositiveIntegerField(null=True, verbose_name='Frequency')), ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=12, verbose_name='Amount')), ('message', models.TextField(blank=True)), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='discounts', to='order.Order', verbose_name='Order')), ], options={ 'verbose_name_plural': 'Order Discounts', 'verbose_name': 'Order Discount', 'abstract': False, }, ), migrations.CreateModel( name='OrderNote', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('note_type', models.CharField(blank=True, max_length=128, verbose_name='Note Type')), ('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')), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='order.Order', verbose_name='Order')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ 'verbose_name_plural': 'Order Notes', 'verbose_name': 'Order Note', 'abstract': False, }, ), migrations.CreateModel( name='PaymentEvent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('amount', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Amount')), ('reference', models.CharField(blank=True, max_length=128, verbose_name='Reference')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), ], options={ 'ordering': ['-date_created'], 'verbose_name_plural': 'Payment Events', 'verbose_name': 'Payment Event', 'abstract': False, }, ), migrations.CreateModel( name='PaymentEventQuantity', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='line_quantities', to='order.PaymentEvent', verbose_name='Event')), ('line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payment_event_quantities', to='order.Line', verbose_name='Line')), ], options={ 'verbose_name_plural': 'Payment Event Quantities', 'verbose_name': 'Payment Event Quantity', }, ), migrations.CreateModel( name='PaymentEventType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128, unique=True, verbose_name='Name')), ('code', oscar.models.fields.autoslugfield.AutoSlugField(blank=True, editable=False, max_length=128, populate_from='name', unique=True, verbose_name='Code')), ], options={ 'ordering': ('name',), 'verbose_name_plural': 'Payment Event Types', 'verbose_name': 'Payment Event Type', 'abstract': False, }, ), migrations.CreateModel( name='ShippingAddress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], max_length=64, verbose_name='Title')), ('first_name', models.CharField(blank=True, max_length=255, verbose_name='First name')), ('last_name', models.CharField(blank=True, max_length=255, verbose_name='Last name')), ('phone_number', phonenumber_field.modelfields.PhoneNumberField(blank=True, help_text='In case we need to call you about your order', max_length=128, verbose_name='Phone number')), ('notes', models.TextField(blank=True, help_text='Tell us anything we should know when delivering your order.', verbose_name='Instructions')), ('address', dj_address.models.AddressField(on_delete=django.db.models.deletion.PROTECT, to='dj_address.Address')), ('unit_designator', models.CharField(blank=True, max_length=32, null=True)), ], options={ 'verbose_name_plural': 'Shipping addresses', 'verbose_name': 'Shipping address', 'abstract': False, }, ), migrations.CreateModel( name='ShippingEvent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('notes', models.TextField(blank=True, help_text='This could be the dispatch reference, or a tracking number', verbose_name='Event notes')), ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')), ], options={ 'ordering': ['-date_created'], 'verbose_name_plural': 'Shipping Events', 'verbose_name': 'Shipping Event', 'abstract': False, }, ), migrations.CreateModel( name='ShippingEventQuantity', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(verbose_name='Quantity')), ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='line_quantities', to='order.ShippingEvent', verbose_name='Event')), ('line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shipping_event_quantities', to='order.Line', verbose_name='Line')), ], options={ 'verbose_name_plural': 'Shipping Event Quantities', 'verbose_name': 'Shipping Event Quantity', }, ), migrations.CreateModel( name='ShippingEventType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True, verbose_name='Name')), ('code', oscar.models.fields.autoslugfield.AutoSlugField(blank=True, editable=False, max_length=128, populate_from='name', unique=True, verbose_name='Code')), ], options={ 'ordering': ('name',), 'verbose_name_plural': 'Shipping Event Types', 'verbose_name': 'Shipping Event Type', 'abstract': False, }, ), migrations.AlterUniqueTogether( name='shippingeventquantity', unique_together={('event', 'line')}, ), migrations.AddField( model_name='shippingevent', name='event_type', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='order.ShippingEventType', verbose_name='Event Type'), ), migrations.AddField( model_name='shippingevent', name='lines', field=models.ManyToManyField(related_name='shipping_events', through='order.ShippingEventQuantity', to='order.Line', verbose_name='Lines'), ), migrations.AddField( model_name='shippingevent', name='order', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='shipping_events', to='order.Order', verbose_name='Order'), ), migrations.AlterUniqueTogether( name='paymenteventquantity', unique_together={('event', 'line')}, ), migrations.AddField( model_name='paymentevent', name='event_type', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='order.PaymentEventType', verbose_name='Event Type'), ), migrations.AddField( model_name='paymentevent', name='lines', field=models.ManyToManyField(through='order.PaymentEventQuantity', to='order.Line', verbose_name='Lines'), ), migrations.AddField( model_name='paymentevent', name='order', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payment_events', to='order.Order', verbose_name='Order'), ), migrations.AddField( model_name='paymentevent', name='shipping_event', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='payment_events', to='order.ShippingEvent'), ), migrations.AddField( model_name='order', name='shipping_address', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='order.ShippingAddress', verbose_name='Shipping Address'), ), migrations.AddField( model_name='order', name='site', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='sites.Site', verbose_name='Site'), ), migrations.AddField( model_name='order', name='user', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='orders', to=settings.AUTH_USER_MODEL, verbose_name='User'), ), migrations.AddField( model_name='lineprice', name='order', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='line_prices', to='order.Order', verbose_name='Option'), ), migrations.AddField( model_name='line', name='order', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lines', to='order.Order', verbose_name='Order'), ), migrations.AddField( model_name='line', name='partner', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='order_lines', to='partner.Partner', verbose_name='Partner'), ), migrations.AddField( model_name='line', name='product', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='catalogue.Product', verbose_name='Product'), ), migrations.AddField( model_name='line', name='stockrecord', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='partner.StockRecord', verbose_name='Stock record'), ), migrations.AddField( model_name='communicationevent', name='order', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='communication_events', to='order.Order', verbose_name='Order'), ), migrations.AlterField( model_name='order', name='currency', field=models.CharField(default=oscar.core.utils.get_default_currency, max_length=12, verbose_name='Currency'), ), migrations.AlterField( model_name='order', name='date_placed', field=models.DateTimeField(db_index=True), ), migrations.AlterModelOptions( name='line', options={'ordering': ['pk'], 'verbose_name': 'Order Line', 'verbose_name_plural': 'Order Lines'}, ), migrations.AlterField( model_name='order', name='guest_email', field=models.EmailField(blank=True, max_length=254, verbose_name='Guest email address'), ), migrations.CreateModel( name='OrderStatusChange', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('old_status', models.CharField(blank=True, max_length=100, verbose_name='Old Status')), ('new_status', models.CharField(blank=True, max_length=100, verbose_name='New Status')), ('date_created', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date Created')), ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='status_changes', to='order.Order', verbose_name='Order Status Changes')), ], options={ 'verbose_name': 'Order Status Change', 'verbose_name_plural': 'Order Status Changes', 'ordering': ['-date_created'], 'abstract': False, }, ), migrations.AlterField( model_name='communicationevent', name='date_created', field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date'), ), migrations.AlterField( model_name='paymentevent', name='date_created', field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date created'), ), migrations.AlterField( model_name='shippingevent', name='date_created', field=models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Date Created'), ), ]