我遇到django-crispy-form
的一些小问题。
我目前有一个表单,它成功显示了我的模型中的所有字段。
但是,我想将html属性name
更改为其他内容。我意识到这可能很难,因为django-crispy-forms
可能希望名称与模型中的字段相同。
我设法更改id
,但name
不会更新。除了在我的数据库中更改列的名称之外,是否有机会修复此问题?
from django import forms
from crispy_forms.helper import FormHelper
class CompanyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CompanyForm, self).__init__(*args, **kwargs)
self.fields['name'].widget.attrs['id'] = 'company_n' # works
self.fields['name'].widget.attrs['name'] = 'company_n' # does not work
self.helper = FormHelper()
答案 0 :(得分:0)
更改模型中的列名是更改ModelForm
表单字段名称属性的方法。
根据我的经验,这对于设计理智的模型来说应该不是问题。
django中有效数据建模的一个很好的指南是:
https://simpleisbetterthancomplex.com/tips/2018/02/10/django-tip-22-designing-better-models.html