Well, I figured out my problem with a lot of searching and experimentation. I apologize in advance if I don't explain it correctly.
Once I fully understood the Satchmo Product/Configurable Product/ Product Variation relationship, everything worked out fine. My problem was that I was creating a Product, then creating a Configurable product, then applying the single product variation to the "master" product. Once I understood that a second product instance was required (actually, one for each product variation, e.g, Large-Blue, Medium-Blue, Large-White, etc.) that would be the "configured" product, everything worked. It also explained the "no reverse match" problem since it was trying to match itself, and why the "create_all_variations" worked but the "create_variation" wasn't working. So, although it's been covered elsewhere, it never hurts to repeat the process in different words in case someone else is struggling with this issue. 1. Create a Product (the parent product) 2. Make that Product (the parent product) Configurable by creating and adding Option Group(s) to it. 3. Create a Product(s) (the child product(s)) for every combination you want to create 4. Create a ProductVariation(s) for each child product, using parent=Configurable Product and product=child product 4. Add the specific product variation(OptionItem, e.g, Large:Blue, Medium:White, etc.) to the ProductVariation record If I've misstated anything, please jump in and correct it. Thanks, Jim On Oct 12, 10:44 pm, JimR <[EMAIL PROTECTED]> wrote: > I'm trying to add a single product variation to a configurable > product. I've tried it both with my product load script as well as > manually. I add an Option Group (Color). I then add an Option Item > (Medium Cherry). I successfully add the product, then create the > configurable product, then add a single variation. Everything is fine > until I try to access the product either through my store or through > the admin interface. I can add the entire Option Group and I do not > have a problem. I can delete the product variation and the problem > disappears. I get the following traceback: > > RuntimeError: maximum recursion depth exceeded in cmp > Traceback (most recent call last): > File "C:\Python25\Lib\site-packages\satchmo\configuration > \values.py", line 256, in _value > val = self.setting.value > File "C:\Python25\Lib\site-packages\satchmo\configuration > \values.py", line 250, in _setting > return find_setting(self.group.key, self.key) > File "C:\Python25\Lib\site-packages\satchmo\configuration > \models.py", line 46, in find_setting > setting = Setting.objects.get(site__id__exact=siteid, > key__exact=key, group__exact=group) > File "C:\Python25\Lib\site-packages\django\django\db\models > \manager.py", line 93, in get > return self.get_query_set().get(*args, **kwargs) > File "C:\Python25\Lib\site-packages\django\django\db\models > \query.py", line 297, in get > clone = self.filter(*args, **kwargs) > File "C:\Python25\Lib\site-packages\django\django\db\models > \query.py", line 483, in filter > return self._filter_or_exclude(False, *args, **kwargs) > File "C:\Python25\Lib\site-packages\django\django\db\models > \query.py", line 497, in _filter_or_exclude > clone = self._clone() > File "C:\Python25\Lib\site-packages\django\django\db\models > \query.py", line 595, in _clone > query = self.query.clone() > File "C:\Python25\Lib\site-packages\django\django\db\models\sql > \query.py", line 175, in clone > obj.where = deepcopy(self.where) > File "C:\Python25\lib\copy.py", line 173, in deepcopy > y = copier(memo) > File "C:\Python25\Lib\site-packages\django\django\utils\tree.py", > line 61, in __deepcopy__ > obj.children = deepcopy(self.children, memodict) > File "C:\Python25\lib\copy.py", line 162, in deepcopy > y = copier(x, memo) > File "C:\Python25\lib\copy.py", line 227, in _deepcopy_list > y.append(deepcopy(a, memo)) > File "C:\Python25\lib\copy.py", line 162, in deepcopy > y = copier(x, memo) > File "C:\Python25\lib\copy.py", line 234, in _deepcopy_tuple > y.append(deepcopy(a, memo)) > File "C:\Python25\lib\copy.py", line 162, in deepcopy > y = copier(x, memo) > File "C:\Python25\lib\copy.py", line 227, in _deepcopy_list > y.append(deepcopy(a, memo)) > File "C:\Python25\lib\copy.py", line 192, in deepcopy > _keep_alive(x, memo) # Make sure x lives at least as long as d > File "C:\Python25\lib\copy.py", line 271, in _keep_alive > memo[id(memo)].append(x) > > Any help would be greatly appreciated. > > Thanks, > Jim --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Satchmo users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/satchmo-users?hl=en -~----------~----~----~----~------~----~------~--~---
