使用另一个键访问字典中的元素

时间:2020-03-06 09:51:13

标签: python django django-models

我有字典:

D = <Queryset[{'name' : 1 , 'id' : 3, 'val': 4}]>

D是字典列表。

我有一个对象可以使用(s.game_id)来获取我的ID。 通过使用s.game_id,我得到'3'作为其值,这是正确的。但是,该对象没有'val'可访问性。我想使用'val'获得'id'的对应值。但是,我无法这样做并陷入困境。

更新1:

当我想使用'val'获得'name'的值时。然后我无法这样做。

game = Game.objects.get(id = touidatelabels.values_list("name", flat = True).get(val = '4'))

1 个答案:

答案 0 :(得分:1)

由于有了查询集,您可以对其进行进一步过滤并获得结果

D.values_list("val", flat=True).get(id=s.game_id)

但是,如果您希望不使用查询集(可能只是字典列表)就可以使用next

try:
    next(d["val"] for d in D if d["id"] == s.game_id)
except StopIteration:
    # no item matching the id
    return None # or any other default value or raise an exception