在Python 2.6 / Django1.3中是否可以使用变量点访问器?

时间:2012-11-21 15:01:27

标签: python django

这是我要求的一个人为的例子:

random_list = []
random_uuid = "1234567890-1234567890"
model_instance = Model.objects.filter(related_link=random_uuid)
for x in ['foo', 'bar', 'ray', 'mee']:
    random_list.append(model_instance.x)

三个强制性问题:

  • 这可能吗?
  • 如果是这样怎么样?
  • 有任何缺点吗?

2 个答案:

答案 0 :(得分:8)

当然,只需使用getattr

for x in ['foo', 'bar', 'ray', 'mee']:
    random_list.append(getattr(model_instance, x))

答案 1 :(得分:1)

for x in ['foo', 'bar', 'ray', 'mee']:
    random_list.append(getattr(model_instance, x))

(编辑:getattr抱歉没有得到)