Django:返回 values_list 的字典列表?

标签 django django-models django-queryset

我有这个查询:

cities = ShippingPrice.objects.filter(city1__name__icontains=request.REQUEST.get('city','')).values_list('city1__id','city1__name').order_by('city1__name').distinct()

它返回一个列表列表。最好不要做 .values_list('city1__id','city1__name')我可以写:
.values_list({'id':'city1__id','name':'city1__name'})

它会返回给我一个字典列表,比如
[{'id':4135,'name':'Seattle'},{'id':4154,'name':'Vancouver'}]

是否有任何现有的方法可以做到这一点?

我正在查看 Django 源代码,但我不知道如何覆盖它:
def values_list(self, *fields, **kwargs):
    flat = kwargs.pop('flat', False)
    if kwargs:
        raise TypeError('Unexpected keyword arguments to values_list: %s'
                % (kwargs.keys(),))
    if flat and len(fields) > 1:
        raise TypeError("'flat' is not valid when values_list is called with more than one field.")
    return self._clone(klass=ValuesListQuerySet, setup=True, flat=flat,
            _fields=fields)

最佳答案

为什么不直接使用 values() 首先?

关于Django:返回 values_list 的字典列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405203/

相关文章:

Django 管理表单 - 如何动态更改选择值

python - 在没有标点符号或空格的 Django 模型中查找匹配项

django - 如何为 Django 创建 ltree 数据类型?

django - Django 模型中的隐藏字段

python - 如何删除 Django 模型中的记录?

javascript - Google 图表 - 工具提示中的图表

python - django 向其他所有者授予的权限

django - 有没有一种方法可以根据字符串相似性(Django difflib)来过滤Django查询集?

django - 如何更改查询的默认顺序?

django - 如何在 django 中缓存模型方法?