Product Variant Cleaner (product_variant/product_variant_cleaner.py)

saleor · saleor/graphql/product/mutations/product_variant/product_variant_cleaner.py · python · BSD-3-Clause
pos, integration, lang:python, fw:django, tag:validation

Validates product variant inputs such as weights and customer purchase quantity limits. Use when processing GraphQL product variant mutations in e-commerce workflows.

# Source: https://github.com/saleor/saleor | License: BSD-3-Clause | Copyright 2020-2023, Saleor Commerce
# Provided via justclaw.it.com; keep this notice with the code.
import graphene
from django.core.exceptions import ValidationError

from .....attribute import models as attribute_models
from .....product.error_codes import ProductErrorCode
from .....product.models import ProductType
from ....attribute.utils.shared import (
    AttrValuesInput,
)

T_INPUT_MAP = list[tuple[attribute_models.Attribute, AttrValuesInput]]


def clean_weight(cleaned_input: dict):
    weight = cleaned_input.get("weight")
    if weight and weight.value < 0:
        raise ValidationError(
            {
                "weight": ValidationError(
                    "Product variant can't have negative weight.",
 

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key