Django Создание динамической формы со значениями набора запросов в качестве поля - PullRequest
0 голосов
/ 06 мая 2019

Допустим, у меня есть набор запросов с 3 записями. Что я хочу создать форму, используя этот набор запросов и использовать значение поля (скажем, имя поля модели) в качестве имени поля формы. И должно быть столько полей, сколько есть записей в этом наборе запросов. Пожалуйста, ПОМОГИТЕ!

1 Ответ

0 голосов
/ 06 мая 2019

Вы можете динамически добавлять поля в форму.Допустим, у вас есть модель 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)
...