在Django中,我可以这样做:
test = Test.objects.get(id=1)
test.name
我希望能够使用动态生成的字符串访问属性,如下所示:
test['name']
或者,使用字符串的任何其他语法。我试过了
test._meta.get_field_by_name('name')
但是这会返回字段本身,而不是值。
有什么想法吗?
发布于 2012-02-21 22:37:23
你可以使用python内置的getattr()
函数:
getattr(test, 'name')
发布于 2015-03-26 07:54:06
其他答案仍然有效,但是现在您可以使用Django的_meta.get_field()来完成此操作。
test._meta.get_field('name')
请注意,Model从1.8开始提供官方支持和documentation,但在其官方文档发布之前的版本中已经分发和使用。
https://stackoverflow.com/questions/9379249
复制相似问题