python - 如何将值附加到 python 列表而不是用最新值替换值

标签 python django dictionary

您好,以下是我的 python/django 代码:

values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True)
if values .filter(status='open'):
   all_item = ['sasi', 'kuttu','vava']
   for item in items:
        values1 = values.filter(set=mask, status='open')
        print values1

上面的代码会给我每个项目中的对象。现在我想创建一个字典,这样我就可以创建如下数据结构:

jobs = [
        {'item': 'A', 'device': 'deviceA', 'log': 'logA'},
        {'item': 'A', 'device': 'device1', 'log': 'ptrf1'},
        {'item': 'B', 'device': 'deviceb', 'log': 'ptrfb'},
        {'item': 'C', 'device': 'devicec', 'log': 'ptrfc'},
    ]

为此我添加了如下内容:

 jobs = []
 values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True)
    if values .filter(status='open'):
       all_item = ['sasi', 'kuttu','vava']
       for mask in all_item:
            values1 = values.filter(set=mask, status='open')
            for x in values1:
                data = {'item' : x.item, 'device':x.device, 'log':x.log}
                jobs.append(data)
            print jobs

但工作总是给我最新的项目,而不是我上面提到的数据结构(每个项目的列表)。我该如何解决这个问题并实现我提到的数据结构?对不起,Python 和编码的新手。如果我问了任何愚蠢的问题,请原谅。提前谢谢大家。

最佳答案

jobs = []
values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True, status='open', set__in=['sasi', 'kuttu','vava'])
if values.exists():
   all_item = ['sasi', 'kuttu','vava']
   for mask in all_item:
       for x in values:
           data = {'item' : x.item, 'device': x.device, 'log': x.log}
           jobs.append(data)

print jobs # <--- print here, then you see the whole list

你的代码很好,你只是在一个循环步骤中打印,它只给你动量值而不是整个列表

我更新了查询,减少了数据库查询。

关于python - 如何将值附加到 python 列表而不是用最新值替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38288214/

相关文章:

python - Pyinstaller - FileNotFound 错误

python - 为什么 Sequence 是 mypy 中不支持的 + 操作数类型?

python - Django 登录 - 缺少 1 个必需的位置参数

Python - 将字典列表重新组合为两个嵌套的字典列表?

python - 检索数组中每个项目的元素

python - 有什么方法可以在python2中录制音频吗? (苹果电脑)

python - 使用 python ping Pingomatic (XMLRPC) 时出错

python - Django错误: Not environment configured

python - Django 的 NoReverseMatch

python - 是否有内置的 dict.get() 的递归版本?