从 Django 查询集中获取变量为列名的值

4

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

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}

我试图获取存储在数据库中的整数值,其中字典键与列名相同,并将其存储在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将返回我需要的一月份的值。

谢谢,Arthur

1个回答

7
如果 key='jan',并且你想获取 obj.jan,你可以使用 Python 的 getattr 函数。
getattr(obj, key)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接