如何以Django模型形式添加其他字段

时间:2020-02-13 15:05:47

标签: django django-forms formset

我试图在模型表单中包括一些虚拟字段,并在模型表单集工厂中使用它们。

模型形式:

ExpressionFactory ef = application.getExpressionFactory();
ELContext elc = FacesContext.getCurrentInstance().getELContext();
ValueExpression value = ef.createValueExpression(elc, "#{bean.cities}", DualListModel.class);
pickList.setValueExpression("value", value);

但是,在呈现时,多余的字段不会显示在表单上。

在这里无需提及,我已经搜索(包括here)并且没有找到可能的解决方案。

问题是:如何正确添加和渲染模型形式的额外字段?

1 个答案:

答案 0 :(得分:2)

forms.TextInput是窗口小部件实例,而不是表单字段实例。使用CharField:

class DistForm(forms.ModelForm):
    dist_from_txt = forms.CharField()
...
    class Meta:
        model: Distance
        fields = ('dist_from', 'dist_to', 'distance')
        widgets = {
...