如何引用Django模型表单对象的基础模型?

Ant*_*y C 5 django django-forms

创建表单时,我希望使用模型上的一个字段作为标签来与我要更新的另一个字段一起使用。

我已经用新的____init____方法重写了BaseModelFormSet,如下所示:

class BaseMyFormSet(BaseModelFormSet):
    def __init__(self, *args, **kwargs):
       super(BaseMyFormSet, self).__init__(*args, **kwargs)
    for form in self.forms:
           form.fields['value'].label = ???
Run Code Online (Sandbox Code Playgroud)

如何引用模型中的其他字段,以便可以将其用作标签值?

(或者,如果有一种更好的方法可以按我需要的方式覆盖标签,那也将非常有帮助。)

谢谢。

Ant*_*y C 1

我发布这个问题是因为我有一个包含两个字段的模型:

LabelField
ValueField
Run Code Online (Sandbox Code Playgroud)

我想显示一个使用“LabelField”作为标签的表单,同时允许用户更新“ValueField”。我的第一个想法是以某种方式将“LabelField”的值分配给“ValueField”的标签属性。

我最终所做的是将“LabelField”的“disabled”属性设置为 true:

form.fields['labelfield'].widget.attrs['disabled'] = True
Run Code Online (Sandbox Code Playgroud)

这允许我显示“labelfield”而不让用户更新它。我可以想到至少两种其他方法来实现相同的目标,但考虑到我对 Django 等人的熟悉程度,这就是我现在使用的方法。