在这里调用set_fields()
不符合我的期望。 (代码的上下文是一个django模型,但我怀疑我刚刚犯了一个python错误。)
class FooEdit(ModelForm):
class Meta:
model = Foo
# Client should call set_fields()
# fields = ('A', 'B')
def set_fields(self, pro):
"""Set fields correctly for status."""
if pro:
self.Meta.fields = ('A', 'B', 'X')
else:
self.Meta.fields = ('A', 'Y', 'Z', 'W')
答案 0 :(得分:1)
您正在使用实例设置类属性。例如
class A(object):
a=0
x=A()
print x.a #prints 0
x.a=2
x.a #prints 2
A.a #prints 0