我有字典:
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'))
答案 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