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

标签 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}

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

干杯,亚瑟

最佳答案

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

getattr(obj, key)

关于python - 从 Django 查询集中获取 Django 值,其中列名是一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628782/

相关文章:

python - 查询集花费太多时间

mysql - Django 查询集更新迁移

python - 从日志文件中提取日期?

python - 进入python解释器时打印问候语

python - Django queryset - 从 json 对象转换

python - Django Tinymce 文件管理器

python - Tastypie 外键关系 'dict' 对象没有属性 'obj'

python - 集合中的交集

python - 从 Seaborn regplot 中提取均值和置信区间

python - 当本地主机正在工作时,我无法通过 IP 地址看到我的 Python Django 服务器