Django 模型表单未验证 BooleanField

Django Model Form is not validating the BooleanField

在我的模型中,验证不是针对布尔字段的验证,只需要检查一次product_field,如果检查两次则加注

product_field = models.BooleanField(default=False)
product_field_count = 0
        for row in range(0,product_field_count):
            if self.data.getlist(f'product_info_set-{row}-product_field'):
                product_field_count += 1
                if product_field_count  <= 1:
                    raise ValidationError(
                        _(
                           " Need to Be Select Once"
                        ))

验证错误。

你可以用sum(iterable, /, start=0)整理一下支票:

product_field_name_count = sum(
    [
        True
        for row in range(0, product_field_count)
        if self.data.getlist(f"product_info_set-{row}-product_field") is not None
    ]
)

if product_field_name_count > 1:
    raise ValidationError(
        'Only one item of this type may be selected'
    )

如果您发现这没有按预期工作,您可能需要添加 print() 以确保关于某些变量在哪里正确的基本假设。

import pprint
pprint.pprint(self)
pprint.pprint(self.__dict__)
pprint.pprint(self.data)