1

如果我使用

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

代替

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

我没有收到与不存在属性相关的错误。有没有办法使用 setattr 来解决这个错误?

谢谢你。

4

1 回答 1

2

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

p.wrong_attr = 'value'

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

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

于 2014-04-01T15:45:57.313 回答