def create_variant(self, request, pk, combo, message=True, product=None, language=None):
"""
This view creates a full variant with it's attribute values
based on a combination index passed in as `combo`.
"""
product = product or get_object_or_404(Product, pk=pk)
product = product.group or product
if not language:
language = get_current_language()
try:
combo = product.get_combinations()[int(combo)]
variant = product.create_variant(combo, language=language)
except (IndexError, ObjectDoesNotExist, IntegrityError):
return HttpResponseBadRequest()
if message:
messages.success(request, _('Variant successfully created.'))
return HttpResponseRedirect(
reverse('admin:shopit_product_change', args=[variant.pk]) + '?language=%s' % language)
评论列表
文章目录