在Modelform中为所有Textfields设置Textarea大小



i有一个带有大量(10-20)字段的模型,其中一些是TextaRea字段。

所有TextAre字段都应具有一定的大小(与默认值不同)。我可以使用Meta类中的小部件字典设置它们,但是我必须一个一个一个设置它们,这似乎是不必要的。

有什么更好的解决方法吗?

更新:由于在评论中建议使用数据库归一化,因此我将稍微充实我的情况:我有一个模型对象,其主要目的是吸收大量用户数据(即"应用程序")。仅将每个问题写给用户作为一个字段的好处是,我可以轻松地为其创建模型表单,并在管理员中显示和编辑数据(这也对我的CRM People有好处)。

我可以为表单的每个字段创建一个类似的模型,但是我不确定如何实际使用Modelform来创建它。

根据您的数据,我只能提供此方法:

from django import forms
textarea_fields = ['field1', 'field2']
form = YourForm()
for field_name in [f for f in form.fields.keys() if f in textarea_fields]:
    form.fields[field_name].widget = forms.Textarea()

最新更新