You best bet might be to ping @*sjkingo <https://github.com/sjkingo>* on the github issue to see if he can share what he already started. That might even (re)start the discussion on how to best integrate it into cartridge.
Le lundi 25 mai 2015 12:20:59 UTC+2, Tomlin a écrit : > > Unfortunately, it is a problem. I can't rely on a unique combination of > options (in some cases it will only be the dimensions that differ). > > The ProductVariation manager does have a check that ensures option sets > must be unique in order to save the variation (the try/except): > def create_from_options(self, options): > """ > Create all unique variations from the selected options. > """ > if options: > options = SortedDict(options) > # Build all combinations of options. > variations = [[]] > for values_list in list(options.values()): > variations = [x + [y] for x in variations for y in > values_list] > for variation in variations: > # Lookup unspecified options as null to ensure a > # unique filter. > variation = dict(list(zip(list(options.keys()), > variation))) > lookup = dict(variation) > > lookup.update(self._empty_options_lookup(exclude=variation)) > try: > self.get(**lookup) > except self.model.DoesNotExist: > self.create(**variation) > > It's soooo tempting to hack away at some of these files but I'll persevere > and find a way of doing it while leaving the cartridge files intact :) > > On Monday, May 25, 2015 at 7:32:45 PM UTC+10, Mathias Ettinger wrote: >> >> If you used EXTRA_MODEL_FIELDS to inject fields into ProductVariation, >> then ProductVariation.option_fields won't consider them for the “identity >> check” unless they are of type cartridge.shop.fields.OptionField (which I >> doubt, I would bet on regular IntegerField). >> >> So it might not be a problem for you. >> >> >> Le lundi 25 mai 2015 10:56:06 UTC+2, Tomlin a écrit : >>> >>> Good thing you pointed that out. I just read this - "You'll also see in >>> ProductVariation.option_fields its used as an identity check". >>> >>> Seems I still need every variation to have a unique set of options. Doh! >>> >>> On Monday, May 25, 2015 at 6:35:37 PM UTC+10, Mathias Ettinger wrote: >>>> >>>> There is also the begining of a discussion on dynamic variation fields >>>> here: https://github.com/stephenmcd/cartridge/issues/232 >>> >>> -- You received this message because you are subscribed to the Google Groups "Mezzanine Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
