Пример #1
0
 def save(self, *args, **kwargs):
     if not self.id:
         if not self.slug or self.slug == "":
             self.slug = slugify(squish_string(self.name))
         if not self.description or self.description == "":
             self.description = self.name
     super(Product, self).save()
Пример #2
0
 def create_sub_products(self):
     existing_configurations = self.get_existing_configurations()
     for option_configuration in self.get_possible_configurations():
         if option_configuration not in existing_configurations:
             log.debug("creating ConfigurableSubProduct for {}".format(option_configuration))
             sub_product = ConfigurableSubProduct()
             sub_product.parent_product = self
             option_name_string = " - ".join(option.name for option in option_configuration)
             option_slug_string = "-".join(option.value for option in option_configuration)
             sub_product.name = self.name + " - " + option_name_string
             sub_product.slug = slugify(squish_string(self.name) + "-" + option_slug_string)
             sub_product.product_class = self.product_class
             log.debug("saving ConfigurableSubProduct {}".format(sub_product))
             sub_product.save()
             for option in option_configuration:
                 sub_product.options.add(option)
             self.child_products.add(sub_product)
             sub_product.save()