使用以下方式编写验证器时,参数存在问题:
cantidadusada = models.DecimalField(max_digits=50, decimal_places=3,validators=[insumo_existencias])
它会自动获取验证器中各个字段的值。py
def insumo_existencias(value):
#Por alguna razon, me esta devolviendo un string
insumo = models.Insumo.objects.get(id=1)
if (insumo.cantidadexistencias < value):
raise ValidationError(
_('Error no hay existencias suficientes'),
)
所以,我只需要调用它的值就可以了,但是当我想传递另一个参数时,该函数不再获取该字段的值。我尝试过:
cantidadusada = models.DecimalField(max_digits=50, decimal_places=3,validators=[insumo_existencias(cantidadusada,idinsumo)])
它不起作用。 显然验证器功能更改为接受参数