从 Django 查询集中获取 Django 值,其中列名是一个变量

get django value from django queryset where column name is a variable

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

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 将 return 我需要的一月份的值。

干杯,亚瑟

如果key='jan',而你想得到obj.jan,你可以使用Python的getattr

getattr(obj, key)