django modelform 属性隐藏字段

标签 django properties hidden-field modelform

我手动将我的表单集显示为表格,每个表单都被循环显示。在每个表单的底部,我都包含了隐藏字段,例如:

{% for hidden in form.hidden_fields %}
    {{ hidden }}
{% endfor %}

但问题是我还在我的表单中包含属性,例如:

class AllocationForm(forms.ModelForm):
    name = forms.CharField(widget=forms.TextInput(attrs={'size': '15'}))

    def __init__(self, *args, **kwargs):
        super(AllocationForm, self).__init__(*args, **kwargs)
        if self.instance:
            self.fields['total_budgeted'] = self.instance.total_budgeted()
            self.fields['total_budgeted_account_percent'] = self.instance.total_budgeted_account_percent()
            self.fields['actual_spent'] = self.instance.actual_spent()
            self.fields['actual_spent_account_percent'] = self.instance.actual_spent_account_percent()
            self.fields['total_budgeted_category_percent'] = self.instance.total_budgeted_category_percent()
            self.fields['actual_spent_category_percent'] = self.instance.actual_spent_category_percent()

    class Meta:
        model = Allocation
        exclude = {'created', 'modified', 'source_account'}

这在某种意义上是有效的,我确实看到了正在调用的属性,但是它们显示为空,所以这是另一个问题。

问题是当我将隐藏字段保留在模板中时,我会收到诸如“int”对象没有属性“get_bound_field”等错误,具体取决于属性/方法调用的返回类型。

我的问题是首先:是否可以检查该字段是否是模板中的属性并因此跳过它? 这可能与我如何使用该属性有关,因为实际上每个属性都没有显示任何内容(但我看到它回调),所以第二将是关于如何显示属性。

最佳答案

好吧,我正处于问题的下一步,但我已成功生成真实表单字段。代替:

if self.instance:
    self.fields['total_budgeted'] = self.instance.total_budgeted()

你可以这样写:

if self.instance:
    self.fields['total_budgeted'] = form.CharField(
        initial=self.instance.total_budgeted(),
        widget=HiddenInput()
    )

在这段代码中,我将表单字段实例化为 CharField,您可以使用您想要的 FormField,我通过选择隐藏输入小部件将其隐藏。

关于django modelform 属性隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660531/

相关文章:

javascript - 单击第二个按钮后服务器端的隐藏字段会更新

禁用 cookie 的 Django CSRF 问题

Django:{% url } 标签中的 UUID 类型

C# 我可以在返回不同泛型类的非泛型类中创建泛型方法或属性吗?

methods - 在 vueJs 的计算属性中使用方法

asp.net - 获取隐藏字段的值

mysql - 在 django 中使用什么数据库模式进行一对二对应?

python - 显示经过身份验证的用户使用模型管理器创建的条目

javascript - parseInt 复制 JavaScript 中的对象属性

Jquery:将字符串转换为 bool 值