使用python 4.3和django 1.0.2。当我尝试更新模型中不可用的字段时,不会引发异常
Eg x = Mymodel.objects.get(att1='abcd')
x.notvalid <---- raises an exception
x.notvalid = 'xxx' <--- not raising exception
有人能解释一下这是如何运作的吗?
答案 0 :(得分:0)
如果你做了作业:
x.notvalid = 'xxx'
您只需将xxx
分配给x.notvalid
即可。它只是python,它就像:
some_var = 'xxx'
只有您在对象x
上执行此操作。在这种情况下,x
是一个Django模型,但它仍然是一个python对象,你可以为这样的python对象分配新的属性。
如果您在为其分配了任何内容之前尝试访问x.notvalid
,则会在逻辑上抛出一个例外,因为尚未分配x.notvalid
。