|
@@ -61,6 +61,25 @@ Customisation just got easier!
|
61
|
61
|
* The documentation around :doc:`/topics/customisation` has been given an
|
62
|
62
|
overhaul to incorporate the changes.
|
63
|
63
|
|
|
64
|
+Explicit differentiation of child, parent and stand-alone products
|
|
65
|
+------------------------------------------------------------------
|
|
66
|
+
|
|
67
|
+In some edge cases, it was difficult to decide whether e.g. a product is a
|
|
68
|
+parent product (previously known as group product) without children or a
|
|
69
|
+stand-alone product (which never has children). To make that distinction
|
|
70
|
+easier, a ``structure`` field has been introduced on the ``AbstractProduct``
|
|
71
|
+class. In that process, naming for the three different product structures
|
|
72
|
+has been altered to be:
|
|
73
|
+
|
|
74
|
+ - A stand alone product. Regular product that lives by itself.
|
|
75
|
+ - A child product. All child products have a parent product. They're a
|
|
76
|
+ specific version of the parent. Previously known as product variant.
|
|
77
|
+ - A parent product. It essentially represents a set of products.
|
|
78
|
+ Previously also known as group product.
|
|
79
|
+
|
|
80
|
+Some properties and method names have also been updated to the new naming. The
|
|
81
|
+old ones will throw a deprecation warning.
|
|
82
|
+
|
64
|
83
|
Reworked shipping app
|
65
|
84
|
~~~~~~~~~~~~~~~~~~~~~
|
66
|
85
|
|
|
@@ -142,7 +161,10 @@ Cleanup around shipping methods
|
142
|
161
|
|
143
|
162
|
* ``WeightBand.upper_limit`` is now a ``DecimalField``, just like the other
|
144
|
163
|
weight-related fields.
|
145
|
|
-
|
|
164
|
+ - Stand-alone product: Products that "stand by themselves", neither have
|
|
165
|
+ parent nor children.
|
|
166
|
+ - Parent product: An overarching product, previously known as group product.
|
|
167
|
+ - Child products: Products related to a common parent product
|
146
|
168
|
.. _minor_changes_in_0.8:
|
147
|
169
|
|
148
|
170
|
Minor changes
|
|
@@ -183,6 +205,29 @@ Backwards incompatible changes in 0.8
|
183
|
205
|
|
184
|
206
|
.. _incompatible_shipping_changes_in_0.8:
|
185
|
207
|
|
|
208
|
+Product structure
|
|
209
|
+~~~~~~~~~~~~~~~~~
|
|
210
|
+
|
|
211
|
+Generally, backwards compatibility has been preserved. Two changes are
|
|
212
|
+unavoidable:
|
|
213
|
+
|
|
214
|
+* You now need to explicitly set product structure when creating a product;
|
|
215
|
+ the default is a stand-alone product.
|
|
216
|
+* The related_name for child products was altered from ``variants`` to
|
|
217
|
+ ``children``. A ``variants`` property has been provided (and will throw a
|
|
218
|
+ deprecation warning), but if you used the old related name in a query lookup
|
|
219
|
+ (e.g. ``products.filter(variants__title='foo')``, you will have to change it
|
|
220
|
+ to ``children``.
|
|
221
|
+
|
|
222
|
+The following methods and properties have been deprecated:
|
|
223
|
+* ``Product.is_parent`` - Use ``is_group`` instead.
|
|
224
|
+* ``Product.is_variant`` - Use ``is_child`` instead.
|
|
225
|
+* ``Product.is_top_level`` - Test for ``is_standalone`` and/or ``is_parent`` instead.
|
|
226
|
+* ``Strategy.fetch_for_group`` - Use ``fetch_for_parent`` instead.
|
|
227
|
+* ``Strategy.select_variant_stockrecords`` - Use
|
|
228
|
+ ``select_children_stockrecords`` instead.
|
|
229
|
+*
|
|
230
|
+
|
186
|
231
|
Shipping
|
187
|
232
|
~~~~~~~~
|
188
|
233
|
|
|
@@ -391,6 +436,12 @@ Basket app changes
|
391
|
436
|
Migrations
|
392
|
437
|
~~~~~~~~~~
|
393
|
438
|
|
|
439
|
+.. warning::
|
|
440
|
+
|
|
441
|
+ The catalogue app has a data migration to determine the product structure.
|
|
442
|
+ Please double-check it's outcome and make sure to do something similar
|
|
443
|
+ if you have forked the catalogue app.
|
|
444
|
+
|
394
|
445
|
* Address:
|
395
|
446
|
|
396
|
447
|
- ``0011`` - ``AbstractAddress.search_text`` turned into a ``TextField``.
|
|
@@ -403,6 +454,7 @@ Migrations
|
403
|
454
|
- ``0023`` - Drop ``Product.related_products``.
|
404
|
455
|
- ``0024`` - Change ``ProductAttributeValue.value_text`` to a ``TextField``
|
405
|
456
|
and do entity attribute changes and model deletions.
|
|
457
|
+ - ``0025`` & ``0026`` - Schema & data migration to determine and save Product structure.
|
406
|
458
|
|
407
|
459
|
* Order:
|
408
|
460
|
|