假设我有一个包含3条记录的queryset。我想要使用此查询集创建表单并将字段的值(例如模型的名称字段)用作表单的字段名称。而且该查询集中必须有尽可能多的字段和许多记录。 请帮助!
答案 0 :(得分:0)
您可以在表单中动态添加字段。假设您有一个带有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
您可以将此表格与queryset一起使用
qs = MyModel.objects.all()
form = MyForm(qs=qs)