从django queryset获取django值,其中列名是变量

时间:2015-09-17 11:03:27

标签: python django django-queryset

我有一个数据库,其中一些列名设置为缩写的月份名称 - 与您在此词典中看到的相同:

months = {'jan':0, 'feb':0, 'mar':0, 'apr':0, 'may':0, 'jun':0, 'jul':0, 'aug':0, 'sep':0, 'oct':0, 'nov':0, 'dec':0}

我试图获取存储在db中的整数值,其中字典键与列名相同并将其存储在y

>>> for i in Somedb.objects.all():
...  for key, value in months.items():
...   y = i.key
... 
Traceback (most recent call last):
  File "<console>", line 3, in <module>
AttributeError: 'Somedb' object has no attribute 'x'

任何人都知道如何做到这一点?例如,在上面的循环中 - i.jan将返回1月所需的值。

干杯,亚瑟

1 个答案:

答案 0 :(得分:4)

如果key='jan',并且您想获得obj.jan,则可以使用Python的getattr

getattr(obj, key)