gpt4 book ai didi

python - 如果将实例传递给表单,如何更改显示的字段?

转载 作者:行者123 更新时间:2023-12-01 07:14:31 26 4
gpt4 key购买 nike

我有一个类似这样的表单:

class ExampleForm(forms.ModelForm):
class Meta:
model = Example
fields = ('field1','field2')

现在,如果将实例传递给它,我想添加一个附加字段。这意味着,如果我创建一个带有实例的表单(用于编辑该对象),我想更改正在显示的字段。

我知道我可以为此目的创建另一个表单并创建它的实例,而不是使用它。但是,有没有办法以同样的形式做到这一点?

最佳答案

重写__init__方法,并在instance传递到表单时修改self.fields

class ExampleForm(forms.ModelForm):
class Meta:
model = Example
fields = ('field1','field2')

def __init__(self, *args, **kwargs):
super(ExampleForm, self).__init__(*args, **kwargs)
if kwargs.get('instance'):
self.fields['field3'] = forms.CharField()

关于python - 如果将实例传递给表单,如何更改显示的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58042176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com