【发布时间】:2020-12-01 10:00:56
【问题描述】:
我正在尝试从数据库中的列创建动态表单。 每个表的列都不同,但我必须能够添加一个表,然后 Django 需要能够创建一个表单来插入新值,而无需修改代码。
views.py
def add_entry(request, partname):
partname = partname.replace('_', ' ').title().replace(' ', '')
form = AddPartForm(request.POST, model=partname)
context = {'form': form}
return render(request, 'index.html', context)
将模型从 views.py 传递到 forms.py 的工作方式类似于
class AddPartForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.model = kwargs.pop('model')
super(AddPartForm, self).__init__(*args, **kwargs)
问题是我收到以下错误:
ValueError: ModelForm has no model class specified.
我似乎无法将该模型变量传递给 Meta 类。
有没有办法做到这一点,或者我应该以不同的方式处理它?
【问题讨论】:
标签: python django django-views django-forms