有没有办法使用setattr获取错误,如果不使用带有django模型的setattr,我会得到这个错误?

时间:2014-04-01 15:13:46

标签: python django django-models setattr

如果我使用

setattr(p,'wrong_attr','value')

而不是

p=MyModel.objects.filter(WRONG_ATTRIBUTE=value)

我没有收到与不存在的属性相关的错误。有没有办法使用setattr来获取该错误?

谢谢。

1 个答案:

答案 0 :(得分:2)

这两个命令没有任何关联。您的setattr来电相当于:

p.wrong_attr = 'value'

也不会引发错误,因为Django模型实例只是Python对象,Python对象允许您任意设置属性。

如果你问你怎么能找到" wrong_attr"是一个有效的字段名称,您可以查看p._meta的某些方法,例如get_all_field_names()