python - 更改值查询集中的字典键

python - change dict keys in a queryset of values

我有这样的东西:model.objets.values('id', 'name') returns 一个以 'id' 和 'name' 作为键的字典列表。有没有办法可以将自定义名称传递给这些键?类似于:model.objets.values('id', 'name').column_names('main id', 'name of de thing I want')?

我正在使用 python + django

是的,您可以使用命名参数,并改用 F expressions [Django-doc]

from django.db.models import F

Model.objects.values(<b>main_id=F('id'), my_name=F('name')</b>)

如果 "target names" 不是有效的 Python 标识符,您可以使用 字典解包 :

from django.db.models import F

Model.objects.values(<b>**{</b>'main_id': F('id'), <b>'name with spaces'</b>: F('name')<b>}</b>)

也就是说,使用 serializers [drf-doc] 通常比使用 .values() 作为生成 JSON blob 的方法更可取。