设置Meta.fields不符合我的预期

时间:2011-10-18 13:58:36

标签: python django-models

在这里调用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')

1 个答案:

答案 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