Вы можете динамически добавлять поля в форму.Допустим, у вас есть модель MyModel
с полем name
.
class MyModel(models.Model):
name = models.CharField()
Вы можете определить форму с такими динамическими полями, как это
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
qs = kwargs.pop('qs')
super().__init__(*args, **kwargs)
for instance in qs:
self.fields[instance.name] = forms.CharField() # or whatever field you want
Вы можете использовать эту форму с набором запросов
qs = MyModel.objects.all()
form = MyForm(qs=qs)