2014-04-01 34 views

回答

2

这两个命令没有任何关系。您的通话setattr就相当于是这样的:

p.wrong_attr = 'value' 

不要么引发错误,因为Django的模型实例只是Python对象,和Python对象可任意设定属性。

如果您问如何找到“wrong_attr”是否是有效的字段名称,您可以查看p._meta的某些方法,例如get_all_field_names()

+1

如果引发一个异常是寻求的结果(如问题所示),'p._meta.get_field('wrong_attr')'会做诡计,引发'FieldDoesNotExist'异常。 – lanzz

+0

p._meta.get_field('wrong_attr')就是我正在寻找的东西! ;) 谢谢! (我点击给出一个业力点?) – foebu

相关问题