You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0001_initial.py 47KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. # encoding: utf-8
  2. import datetime
  3. from south.db import db
  4. from south.v2 import SchemaMigration
  5. from django.db import models
  6. from oscar.core.compat import AUTH_USER_MODEL, AUTH_USER_MODEL_NAME
  7. class Migration(SchemaMigration):
  8. depends_on = (
  9. ('catalogue', '0001_initial'),
  10. ('customer', '0001_initial'),
  11. ('partner', '0001_initial'),
  12. ('address', '0001_initial'),
  13. )
  14. def forwards(self, orm):
  15. # Adding model 'PaymentEventQuantity'
  16. db.create_table('order_paymenteventquantity', (
  17. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  18. ('event', self.gf('django.db.models.fields.related.ForeignKey')(related_name='line_quantities', to=orm['order.PaymentEvent'])),
  19. ('line', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.Line'])),
  20. ('quantity', self.gf('django.db.models.fields.PositiveIntegerField')()),
  21. ))
  22. db.send_create_signal('order', ['PaymentEventQuantity'])
  23. # Adding model 'ShippingEventQuantity'
  24. db.create_table('order_shippingeventquantity', (
  25. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  26. ('event', self.gf('django.db.models.fields.related.ForeignKey')(related_name='line_quantities', to=orm['order.ShippingEvent'])),
  27. ('line', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.Line'])),
  28. ('quantity', self.gf('django.db.models.fields.PositiveIntegerField')()),
  29. ))
  30. db.send_create_signal('order', ['ShippingEventQuantity'])
  31. # Adding model 'Order'
  32. db.create_table('order_order', (
  33. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  34. ('number', self.gf('django.db.models.fields.CharField')(max_length=128, db_index=True)),
  35. ('site', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sites.Site'])),
  36. ('basket_id', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)),
  37. ('user', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='orders', null=True, to=orm[AUTH_USER_MODEL])),
  38. ('billing_address', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.BillingAddress'], null=True, blank=True)),
  39. ('total_incl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  40. ('total_excl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  41. ('shipping_incl_tax', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
  42. ('shipping_excl_tax', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
  43. ('shipping_address', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.ShippingAddress'], null=True, blank=True)),
  44. ('shipping_method', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)),
  45. ('status', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)),
  46. ('date_placed', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, db_index=True, blank=True)),
  47. ))
  48. db.send_create_signal('order', ['Order'])
  49. # Adding model 'OrderNote'
  50. db.create_table('order_ordernote', (
  51. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  52. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='notes', to=orm['order.Order'])),
  53. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm[AUTH_USER_MODEL], null=True)),
  54. ('note_type', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)),
  55. ('message', self.gf('django.db.models.fields.TextField')()),
  56. ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
  57. ))
  58. db.send_create_signal('order', ['OrderNote'])
  59. # Adding model 'CommunicationEvent'
  60. db.create_table('order_communicationevent', (
  61. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  62. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='communication_events', to=orm['order.Order'])),
  63. ('event_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.CommunicationEventType'])),
  64. ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
  65. ))
  66. db.send_create_signal('order', ['CommunicationEvent'])
  67. # Adding model 'ShippingAddress'
  68. db.create_table('order_shippingaddress', (
  69. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  70. ('title', self.gf('django.db.models.fields.CharField')(max_length=64, null=True, blank=True)),
  71. ('first_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  72. ('last_name', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)),
  73. ('line1', self.gf('django.db.models.fields.CharField')(max_length=255)),
  74. ('line2', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  75. ('line3', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  76. ('line4', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  77. ('state', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  78. ('postcode', self.gf('django.db.models.fields.CharField')(max_length=64)),
  79. ('country', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['address.Country'])),
  80. ('search_text', self.gf('django.db.models.fields.CharField')(max_length=1000)),
  81. ('phone_number', self.gf('django.db.models.fields.CharField')(max_length=32, null=True, blank=True)),
  82. ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  83. ))
  84. db.send_create_signal('order', ['ShippingAddress'])
  85. # Adding model 'BillingAddress'
  86. db.create_table('order_billingaddress', (
  87. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  88. ('title', self.gf('django.db.models.fields.CharField')(max_length=64, null=True, blank=True)),
  89. ('first_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  90. ('last_name', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)),
  91. ('line1', self.gf('django.db.models.fields.CharField')(max_length=255)),
  92. ('line2', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  93. ('line3', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  94. ('line4', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  95. ('state', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  96. ('postcode', self.gf('django.db.models.fields.CharField')(max_length=64)),
  97. ('country', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['address.Country'])),
  98. ('search_text', self.gf('django.db.models.fields.CharField')(max_length=1000)),
  99. ))
  100. db.send_create_signal('order', ['BillingAddress'])
  101. # Adding model 'Line'
  102. db.create_table('order_line', (
  103. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  104. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='lines', to=orm['order.Order'])),
  105. ('partner', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='order_lines', null=True, to=orm['partner.Partner'])),
  106. ('partner_name', self.gf('django.db.models.fields.CharField')(max_length=128)),
  107. ('partner_sku', self.gf('django.db.models.fields.CharField')(max_length=128)),
  108. ('title', self.gf('django.db.models.fields.CharField')(max_length=255)),
  109. ('product', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['catalogue.Product'], null=True, blank=True)),
  110. ('quantity', self.gf('django.db.models.fields.PositiveIntegerField')(default=1)),
  111. ('line_price_incl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  112. ('line_price_excl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  113. ('line_price_before_discounts_incl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  114. ('line_price_before_discounts_excl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  115. ('unit_cost_price', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
  116. ('unit_price_incl_tax', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
  117. ('unit_price_excl_tax', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
  118. ('unit_retail_price', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
  119. ('partner_line_reference', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)),
  120. ('partner_line_notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  121. ('status', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  122. ('est_dispatch_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
  123. ))
  124. db.send_create_signal('order', ['Line'])
  125. # Adding model 'LinePrice'
  126. db.create_table('order_lineprice', (
  127. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  128. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='line_prices', to=orm['order.Order'])),
  129. ('line', self.gf('django.db.models.fields.related.ForeignKey')(related_name='prices', to=orm['order.Line'])),
  130. ('quantity', self.gf('django.db.models.fields.PositiveIntegerField')(default=1)),
  131. ('price_incl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  132. ('price_excl_tax', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  133. ('shipping_incl_tax', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
  134. ('shipping_excl_tax', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
  135. ))
  136. db.send_create_signal('order', ['LinePrice'])
  137. # Adding model 'LineAttribute'
  138. db.create_table('order_lineattribute', (
  139. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  140. ('line', self.gf('django.db.models.fields.related.ForeignKey')(related_name='attributes', to=orm['order.Line'])),
  141. ('option', self.gf('django.db.models.fields.related.ForeignKey')(related_name='line_attributes', null=True, to=orm['catalogue.Option'])),
  142. ('type', self.gf('django.db.models.fields.CharField')(max_length=128)),
  143. ('value', self.gf('django.db.models.fields.CharField')(max_length=255)),
  144. ))
  145. db.send_create_signal('order', ['LineAttribute'])
  146. # Adding model 'ShippingEvent'
  147. db.create_table('order_shippingevent', (
  148. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  149. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='shipping_events', to=orm['order.Order'])),
  150. ('event_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.ShippingEventType'])),
  151. ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  152. ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
  153. ))
  154. db.send_create_signal('order', ['ShippingEvent'])
  155. # Adding model 'ShippingEventType'
  156. db.create_table('order_shippingeventtype', (
  157. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  158. ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
  159. ('code', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=128, db_index=True)),
  160. ('is_required', self.gf('django.db.models.fields.BooleanField')(default=True)),
  161. ('sequence_number', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  162. ))
  163. db.send_create_signal('order', ['ShippingEventType'])
  164. # Adding model 'PaymentEvent'
  165. db.create_table('order_paymentevent', (
  166. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  167. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='payment_events', to=orm['order.Order'])),
  168. ('amount', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
  169. ('event_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['order.PaymentEventType'])),
  170. ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
  171. ))
  172. db.send_create_signal('order', ['PaymentEvent'])
  173. # Adding model 'PaymentEventType'
  174. db.create_table('order_paymenteventtype', (
  175. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  176. ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128)),
  177. ('code', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=128, db_index=True)),
  178. ('sequence_number', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  179. ))
  180. db.send_create_signal('order', ['PaymentEventType'])
  181. # Adding model 'OrderDiscount'
  182. db.create_table('order_orderdiscount', (
  183. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  184. ('order', self.gf('django.db.models.fields.related.ForeignKey')(related_name='discounts', to=orm['order.Order'])),
  185. ('offer_id', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)),
  186. ('voucher_id', self.gf('django.db.models.fields.PositiveIntegerField')(null=True, blank=True)),
  187. ('voucher_code', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, db_index=True)),
  188. ('amount', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
  189. ))
  190. db.send_create_signal('order', ['OrderDiscount'])
  191. def backwards(self, orm):
  192. # Deleting model 'PaymentEventQuantity'
  193. db.delete_table('order_paymenteventquantity')
  194. # Deleting model 'ShippingEventQuantity'
  195. db.delete_table('order_shippingeventquantity')
  196. # Deleting model 'Order'
  197. db.delete_table('order_order')
  198. # Deleting model 'OrderNote'
  199. db.delete_table('order_ordernote')
  200. # Deleting model 'CommunicationEvent'
  201. db.delete_table('order_communicationevent')
  202. # Deleting model 'ShippingAddress'
  203. db.delete_table('order_shippingaddress')
  204. # Deleting model 'BillingAddress'
  205. db.delete_table('order_billingaddress')
  206. # Deleting model 'Line'
  207. db.delete_table('order_line')
  208. # Deleting model 'LinePrice'
  209. db.delete_table('order_lineprice')
  210. # Deleting model 'LineAttribute'
  211. db.delete_table('order_lineattribute')
  212. # Deleting model 'ShippingEvent'
  213. db.delete_table('order_shippingevent')
  214. # Deleting model 'ShippingEventType'
  215. db.delete_table('order_shippingeventtype')
  216. # Deleting model 'PaymentEvent'
  217. db.delete_table('order_paymentevent')
  218. # Deleting model 'PaymentEventType'
  219. db.delete_table('order_paymenteventtype')
  220. # Deleting model 'OrderDiscount'
  221. db.delete_table('order_orderdiscount')
  222. models = {
  223. 'address.country': {
  224. 'Meta': {'ordering': "('-is_highlighted', 'name')", 'object_name': 'Country'},
  225. 'is_highlighted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
  226. 'is_shipping_country': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
  227. 'iso_3166_1_a2': ('django.db.models.fields.CharField', [], {'max_length': '2', 'primary_key': 'True'}),
  228. 'iso_3166_1_a3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'db_index': 'True'}),
  229. 'iso_3166_1_numeric': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'db_index': 'True'}),
  230. 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  231. 'printable_name': ('django.db.models.fields.CharField', [], {'max_length': '128'})
  232. },
  233. 'auth.group': {
  234. 'Meta': {'object_name': 'Group'},
  235. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  236. 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
  237. 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
  238. },
  239. 'auth.permission': {
  240. 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
  241. 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
  242. 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
  243. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  244. 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
  245. },
  246. AUTH_USER_MODEL: {
  247. 'Meta': {'object_name': AUTH_USER_MODEL_NAME},
  248. 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
  249. 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
  250. 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
  251. 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
  252. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  253. 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
  254. 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  255. 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  256. 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
  257. 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
  258. 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  259. 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
  260. 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
  261. },
  262. 'catalogue.attributeentity': {
  263. 'Meta': {'object_name': 'AttributeEntity'},
  264. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  265. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  266. 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'}),
  267. 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'entities'", 'to': "orm['catalogue.AttributeEntityType']"})
  268. },
  269. 'catalogue.attributeentitytype': {
  270. 'Meta': {'object_name': 'AttributeEntityType'},
  271. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  272. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  273. 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '255', 'blank': 'True'})
  274. },
  275. 'catalogue.attributeoption': {
  276. 'Meta': {'object_name': 'AttributeOption'},
  277. 'group': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'options'", 'to': "orm['catalogue.AttributeOptionGroup']"}),
  278. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  279. 'option': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  280. },
  281. 'catalogue.attributeoptiongroup': {
  282. 'Meta': {'object_name': 'AttributeOptionGroup'},
  283. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  284. 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'})
  285. },
  286. 'catalogue.category': {
  287. 'Meta': {'ordering': "['name']", 'object_name': 'Category'},
  288. 'depth': ('django.db.models.fields.PositiveIntegerField', [], {}),
  289. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  290. 'full_name': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'db_index': 'True'}),
  291. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  292. 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
  293. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
  294. 'numchild': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  295. 'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
  296. 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '1024', 'db_index': 'True'})
  297. },
  298. 'catalogue.option': {
  299. 'Meta': {'object_name': 'Option'},
  300. 'code': ('django.db.models.fields.SlugField', [], {'max_length': '128', 'db_index': 'True'}),
  301. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  302. 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  303. 'type': ('django.db.models.fields.CharField', [], {'default': "'Required'", 'max_length': '128'})
  304. },
  305. 'catalogue.product': {
  306. 'Meta': {'ordering': "['-date_created']", 'object_name': 'Product'},
  307. 'attributes': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.ProductAttribute']", 'through': "orm['catalogue.ProductAttributeValue']", 'symmetrical': 'False'}),
  308. 'categories': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.Category']", 'through': "orm['catalogue.ProductCategory']", 'symmetrical': 'False'}),
  309. 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  310. 'date_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}),
  311. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  312. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  313. 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'variants'", 'null': 'True', 'to': "orm['catalogue.Product']"}),
  314. 'product_class': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.ProductClass']", 'null': 'True'}),
  315. 'product_options': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.Option']", 'symmetrical': 'False', 'blank': 'True'}),
  316. 'recommended_products': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.Product']", 'symmetrical': 'False', 'through': "orm['catalogue.ProductRecommendation']", 'blank': 'True'}),
  317. 'related_products': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'relations'", 'blank': 'True', 'to': "orm['catalogue.Product']"}),
  318. 'score': ('django.db.models.fields.FloatField', [], {'default': '0.0', 'db_index': 'True'}),
  319. 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'db_index': 'True'}),
  320. 'status': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '128', 'null': 'True', 'blank': 'True'}),
  321. 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  322. 'upc': ('django.db.models.fields.CharField', [], {'max_length': '64', 'unique': 'True', 'null': 'True', 'blank': 'True'})
  323. },
  324. 'catalogue.productattribute': {
  325. 'Meta': {'ordering': "['code']", 'object_name': 'ProductAttribute'},
  326. 'code': ('django.db.models.fields.SlugField', [], {'max_length': '128', 'db_index': 'True'}),
  327. 'entity_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.AttributeEntityType']", 'null': 'True', 'blank': 'True'}),
  328. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  329. 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  330. 'option_group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.AttributeOptionGroup']", 'null': 'True', 'blank': 'True'}),
  331. 'product_class': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'attributes'", 'null': 'True', 'to': "orm['catalogue.ProductClass']"}),
  332. 'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  333. 'type': ('django.db.models.fields.CharField', [], {'default': "'text'", 'max_length': '20'})
  334. },
  335. 'catalogue.productattributevalue': {
  336. 'Meta': {'object_name': 'ProductAttributeValue'},
  337. 'attribute': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.ProductAttribute']"}),
  338. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  339. 'product': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attribute_values'", 'to': "orm['catalogue.Product']"}),
  340. 'value_boolean': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  341. 'value_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
  342. 'value_entity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.AttributeEntity']", 'null': 'True', 'blank': 'True'}),
  343. 'value_float': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
  344. 'value_integer': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
  345. 'value_option': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.AttributeOption']", 'null': 'True', 'blank': 'True'}),
  346. 'value_richtext': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  347. 'value_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
  348. },
  349. 'catalogue.productcategory': {
  350. 'Meta': {'ordering': "['-is_canonical']", 'object_name': 'ProductCategory'},
  351. 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Category']"}),
  352. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  353. 'is_canonical': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
  354. 'product': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Product']"})
  355. },
  356. 'catalogue.productclass': {
  357. 'Meta': {'ordering': "['name']", 'object_name': 'ProductClass'},
  358. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  359. 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  360. 'options': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['catalogue.Option']", 'symmetrical': 'False', 'blank': 'True'}),
  361. 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128', 'db_index': 'True'})
  362. },
  363. 'catalogue.productrecommendation': {
  364. 'Meta': {'object_name': 'ProductRecommendation'},
  365. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  366. 'primary': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'primary_recommendations'", 'to': "orm['catalogue.Product']"}),
  367. 'ranking': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
  368. 'recommendation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Product']"})
  369. },
  370. 'contenttypes.contenttype': {
  371. 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
  372. 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
  373. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  374. 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
  375. 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
  376. },
  377. 'customer.communicationeventtype': {
  378. 'Meta': {'object_name': 'CommunicationEventType'},
  379. 'category': ('django.db.models.fields.CharField', [], {'default': "'Order related'", 'max_length': '255'}),
  380. 'code': ('django.db.models.fields.SlugField', [], {'max_length': '128', 'db_index': 'True'}),
  381. 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  382. 'date_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
  383. 'email_body_html_template': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  384. 'email_body_template': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  385. 'email_subject_template': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
  386. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  387. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  388. 'sms_template': ('django.db.models.fields.CharField', [], {'max_length': '170', 'blank': 'True'})
  389. },
  390. 'order.billingaddress': {
  391. 'Meta': {'object_name': 'BillingAddress'},
  392. 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['address.Country']"}),
  393. 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  394. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  395. 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
  396. 'line1': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  397. 'line2': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  398. 'line3': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  399. 'line4': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  400. 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
  401. 'search_text': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
  402. 'state': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  403. 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'})
  404. },
  405. 'order.communicationevent': {
  406. 'Meta': {'object_name': 'CommunicationEvent'},
  407. 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  408. 'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['customer.CommunicationEventType']"}),
  409. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  410. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'communication_events'", 'to': "orm['order.Order']"})
  411. },
  412. 'order.line': {
  413. 'Meta': {'object_name': 'Line'},
  414. 'est_dispatch_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
  415. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  416. 'line_price_before_discounts_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  417. 'line_price_before_discounts_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  418. 'line_price_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  419. 'line_price_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  420. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lines'", 'to': "orm['order.Order']"}),
  421. 'partner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'order_lines'", 'null': 'True', 'to': "orm['partner.Partner']"}),
  422. 'partner_line_notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  423. 'partner_line_reference': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
  424. 'partner_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  425. 'partner_sku': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  426. 'product': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['catalogue.Product']", 'null': 'True', 'blank': 'True'}),
  427. 'quantity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
  428. 'status': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  429. 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  430. 'unit_cost_price': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
  431. 'unit_price_excl_tax': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
  432. 'unit_price_incl_tax': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
  433. 'unit_retail_price': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'})
  434. },
  435. 'order.lineattribute': {
  436. 'Meta': {'object_name': 'LineAttribute'},
  437. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  438. 'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attributes'", 'to': "orm['order.Line']"}),
  439. 'option': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_attributes'", 'null': 'True', 'to': "orm['catalogue.Option']"}),
  440. 'type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
  441. 'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  442. },
  443. 'order.lineprice': {
  444. 'Meta': {'object_name': 'LinePrice'},
  445. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  446. 'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'prices'", 'to': "orm['order.Line']"}),
  447. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_prices'", 'to': "orm['order.Order']"}),
  448. 'price_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  449. 'price_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  450. 'quantity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
  451. 'shipping_excl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
  452. 'shipping_incl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'})
  453. },
  454. 'order.order': {
  455. 'Meta': {'ordering': "['-date_placed']", 'object_name': 'Order'},
  456. 'basket_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}),
  457. 'billing_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.BillingAddress']", 'null': 'True', 'blank': 'True'}),
  458. 'date_placed': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
  459. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  460. 'number': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
  461. 'shipping_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.ShippingAddress']", 'null': 'True', 'blank': 'True'}),
  462. 'shipping_excl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
  463. 'shipping_incl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
  464. 'shipping_method': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
  465. 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}),
  466. 'status': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
  467. 'total_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  468. 'total_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  469. 'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'orders'", 'null': 'True', 'to': "orm['{0}']".format(AUTH_USER_MODEL)})
  470. },
  471. 'order.orderdiscount': {
  472. 'Meta': {'object_name': 'OrderDiscount'},
  473. 'amount': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
  474. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  475. 'offer_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}),
  476. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'discounts'", 'to': "orm['order.Order']"}),
  477. 'voucher_code': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'db_index': 'True'}),
  478. 'voucher_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'})
  479. },
  480. 'order.ordernote': {
  481. 'Meta': {'object_name': 'OrderNote'},
  482. 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  483. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  484. 'message': ('django.db.models.fields.TextField', [], {}),
  485. 'note_type': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
  486. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notes'", 'to': "orm['order.Order']"}),
  487. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['{0}']".format(AUTH_USER_MODEL), 'null': 'True'})
  488. },
  489. 'order.paymentevent': {
  490. 'Meta': {'object_name': 'PaymentEvent'},
  491. 'amount': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
  492. 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  493. 'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.PaymentEventType']"}),
  494. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  495. 'lines': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['order.Line']", 'through': "orm['order.PaymentEventQuantity']", 'symmetrical': 'False'}),
  496. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payment_events'", 'to': "orm['order.Order']"})
  497. },
  498. 'order.paymenteventquantity': {
  499. 'Meta': {'object_name': 'PaymentEventQuantity'},
  500. 'event': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_quantities'", 'to': "orm['order.PaymentEvent']"}),
  501. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  502. 'line': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.Line']"}),
  503. 'quantity': ('django.db.models.fields.PositiveIntegerField', [], {})
  504. },
  505. 'order.paymenteventtype': {
  506. 'Meta': {'ordering': "('sequence_number',)", 'object_name': 'PaymentEventType'},
  507. 'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128', 'db_index': 'True'}),
  508. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  509. 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
  510. 'sequence_number': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  511. },
  512. 'order.shippingaddress': {
  513. 'Meta': {'object_name': 'ShippingAddress'},
  514. 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['address.Country']"}),
  515. 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  516. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  517. 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
  518. 'line1': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  519. 'line2': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  520. 'line3': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  521. 'line4': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  522. 'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  523. 'phone_number': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
  524. 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
  525. 'search_text': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
  526. 'state': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  527. 'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'})
  528. },
  529. 'order.shippingevent': {
  530. 'Meta': {'ordering': "['-date']", 'object_name': 'ShippingEvent'},
  531. 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  532. 'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.ShippingEventType']"}),
  533. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  534. 'lines': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['order.Line']", 'through': "orm['order.ShippingEventQuantity']", 'symmetrical': 'False'}),
  535. 'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  536. 'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'shipping_events'", 'to': "orm['order.Order']"})
  537. },
  538. 'order.shippingeventquantity': {
  539. 'Meta': {'object_name': 'ShippingEventQuantity'},
  540. 'event': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_quantities'", 'to': "orm['order.ShippingEvent']"}),
  541. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  542. 'line': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['order.Line']"}),
  543. 'quantity': ('django.db.models.fields.PositiveIntegerField', [], {})
  544. },
  545. 'order.shippingeventtype': {
  546. 'Meta': {'ordering': "('sequence_number',)", 'object_name': 'ShippingEventType'},
  547. 'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128', 'db_index': 'True'}),
  548. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  549. 'is_required': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
  550. 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
  551. 'sequence_number': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  552. },
  553. 'partner.partner': {
  554. 'Meta': {'object_name': 'Partner'},
  555. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  556. 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
  557. 'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'partners'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['{0}']".format(AUTH_USER_MODEL)})
  558. },
  559. 'sites.site': {
  560. 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
  561. 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
  562. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  563. 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
  564. }
  565. }
  566. complete_apps = ['order']