Аргумент validate=True
является ключевым аргументом, поэтому он будет отображаться в диктовке kwargs
. (В args
. Отображаются только позиционные аргументы.)
Вы можете использовать kwargs.pop , чтобы попытаться получить значение kwargs['validate']
.
Если validate
является ключом kwargs
, то kwargs.pop('validate')
вернет соответствующее значение. У него также есть приятное преимущество - удаление ключа 'validate'
из диктанта kwargs
, что делает его готовым к вызову __init__
.
Если клавиша validate
отсутствует в kwargs
, возвращается False
.
def __init__(self, *args, **kwargs):
self.validate = kwargs.pop('validate',False)
super(MyForm, self).__init__(*args, **kwargs)
Если вы не хотите удалять ключ 'validate'
из kwargs
перед передачей его в __init__
, просто измените pop
на get
.