registrasion/forms.py
def product_quantities(self):
        ''' Yields a sequence of (product, quantity) tuples from the
        cleaned form data. '''

        products = set()
        # Track everything so that we can yield some zeroes
        all_products = set()

        for form in self:
            if form.empty_permitted and not form.cleaned_data:
                # This is the magical empty form at the end of the list.
                continue

            for product, quantity in form.product_quantities():
                all_products.add(product)
                if quantity == 0:
                    continue
                if product in products:
                    form.add_error(
                        _ItemQuantityProductsForm.CHOICE_FIELD,
                        "You may only choose each product type once.",
                    )
                    form.add_error(
                        _ItemQuantityProductsForm.QUANTITY_FIELD,
                        "You may only choose each product type once.",
                    )
                products.add(product)
                yield product, quantity

        for product in (all_products - products):
            yield product, 0
def product_quantities(self):
        ''' Yields a sequence of (product, quantity) tuples from the
        cleaned form data. '''

        products = set()
        # Track everything so that we can yield some zeroes
        all_products = set()

        for form in self:
            if form.empty_permitted and not form.cleaned_data:
                # This is the magical empty form at the end of the list.
                continue

            for product, quantity in form.product_quantities():
                all_products.add(product)
                if quantity == 0:
                    continue
                if product in products:
                    form.add_error(
                        _ItemQuantityProductsForm.CHOICE_FIELD,
                        "You may only choose each product type once.",
                    )
                    form.add_error(
                        _ItemQuantityProductsForm.QUANTITY_FIELD,
                        "You may only choose each product type once.",
                    )
                products.add(product)
                yield product, quantity

        for product in (all_products - products):
            yield product, 0
def product_quantities ( self ) : products = set ( ) # Track everything so that we can yield some zeroes all_products = set ( ) for form in self : if form . empty_permitted and not form . cleaned_data : # This is the magical empty form at the end of the list. continue for product , quantity in form . product_quantities ( ) : all_products . add ( product ) if quantity == 0 : continue if product in products : form . add_error ( _ItemQuantityProductsForm . CHOICE_FIELD , "You may only choose each product type once." , ) form . add_error ( _ItemQuantityProductsForm . QUANTITY_FIELD , "You may only choose each product type once." , ) products . add ( product ) yield product , quantity for product in ( all_products - products ) : yield product , 0
Yields a sequence of (product, quantity) tuples from the
        cleaned form data.
Yields a sequence of ( product quantity ) tuples from the cleaned form data .