【问题标题】:python - change dict keys in a queryset of valuespython - 在值的查询集中更改字典键
【发布时间】:2020-05-03 11:40:35
【问题描述】:

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

我正在使用 python + django

【问题讨论】:

    标签: python django django-orm


    【解决方案1】:

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

    from django.db.models import F
    
    Model.objects.values(main_id=F('id'), my_name=F('name'))

    如果“目标名称”不是有效的 Python 标识符,您可以使用字典解包

    from django.db.models import F
    
    Model.objects.values(**{'main_id': F('id'), 'name with spaces': F('name')})

    话虽如此,通常建议使用 serializers [drf-doc] 而不是使用 .values() 作为生成 JSON blob 的一种方式。

    【讨论】:

      猜你喜欢
      • 2020-07-22
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 2021-08-23
      • 2022-01-02
      相关资源
      最近更新 更多