Цикл while не видит динамически созданные поля формы
Итак, все выглядит хорошо на html и css, где динамически созданные объекты имеют правильные атрибуты.
let $this = $("#id_variant_0")
let $clone = $this.clone()
let name = $clone.attr('name')
let n = count
name = 'variant_' + n
count++
$clone.val('')
$clone.attr('name', name)
let new_id = "id_" + name
$clone.attr('id', new_id)
$clone.appendTo($this.parent())
$this.addClass('form-control')
})
но я не могу заставить цикл while работать, он видит только первый вариант.
variants = set()
i = 0
field_name = 'variant_%s' % (i,)
while self.cleaned_data.get(field_name):
variant = self.cleaned_data[field_name]
print("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^")
print(variant)
if variant in variants:
self.add_error(field_name, 'Duplicate')
else:
variants.add(variant)
i += 1
field_name = 'variant_%s' % (i,)
self.cleaned_data["variants"] = variants
def get_variant_fields(self):
for field_name in self.fields:
if field_name.startswith('variant_'):
yield self[field_name]
Что я делаю не так?