小编Vai*_*hav的帖子

使用字典值更新查询集

我正在编写自定义列表过滤器和内部过滤器调用,我有一个Django 查询集,如下所示

查询集 =[qs1, qs2, qs3]

对于查询集中的所有对象,查询集具有属性Count_val = 0,UUID =(唯一 id)

所以可以说

qs1 = {uuid: 123, count_val: 0}

qs2 = {uuid: 456, count_val: 0}

qs1 = {uuid: 789, count_val: 0}

我有一本像 {uuid: count_val} 的字典

示例 {123: 5, 456: 10, 789: 15 }

我想在返回查询集作为响应之前更新所有对象的查询集属性 count_values

也许注释,但我如何为每个值提取每个 uuid

queryset=queryset.annotate(count_val = Case(When(uuid_in=dictionary.keys(), then=dictionary[uuid]), field_type=Integer))   ## not correct syntax just an example
# inserting to new field is also fine
#queryset.extra(value={count_val : dictionary[uuid]})
return queryset
Run Code Online (Sandbox Code Playgroud)

感谢帮助

python django dictionary django-queryset

3
推荐指数
1
解决办法
1223
查看次数

标签 统计

dictionary ×1

django ×1

django-queryset ×1

python ×1