【发布时间】:2018-11-08 07:38:43
【问题描述】:
我想以编程方式排除表单中的一个字段。 目前我有这个:
class RandomForm(BaseForm):
def __init__(self, *args, **kwargs):
# This doesn't work
if kwargs["instance"] is None:
self._meta.exclude = ("active",)
super(ServiceForm, self).__init__(*args, **kwargs)
# This doesn't work either
if kwargs["instance"] is None:
self._meta.exclude = ("active",)
class Meta:
model = models.Service
fields = (...some fields...)
如何仅在创建新模型时排除 active 字段?
【问题讨论】:
-
只是澄清一下:不工作意味着即使
self._meta.exclude = ("active",)行被执行,该字段仍然在表单中出现?还是您遇到错误? -
这只是一个错字还是
RandomForm真的从ServiceForm调用了超级方法? -
@Ralf 确实。 “不起作用”意味着该字段不断显示。另外,是的,这是一个错字。
标签: python django python-3.x django-2.0