如果我使用
setattr(p,'wrong_attr','value')
而不是
p=MyModel.objects.filter(WRONG_ATTRIBUTE=value)
我没有收到与不存在的属性相关的错误。有没有办法使用setattr来获取该错误?
谢谢。
答案 0 :(得分:2)
这两个命令没有任何关联。您的setattr
来电相当于:
p.wrong_attr = 'value'
也不会引发错误,因为Django模型实例只是Python对象,Python对象允许您任意设置属性。
如果你问你怎么能找到" wrong_attr"是一个有效的字段名称,您可以查看p._meta
的某些方法,例如get_all_field_names()
。