You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Django QuerySet中提取UUID主键并转换为普通字符串列表

实现方法

你可以通过以下几种常用方案完成UUID对象到字符串的转换:

  • 方案1:Python层直接转换(最简单常用)
    你拿到的QuerySet中每个元素都是原生UUID对象,直接遍历转字符串即可:
# 列表推导式写法
pk_str_list = [str(pk) for pk in queryset]

# 或者用map函数写法
pk_str_list = list(map(str, queryset))

运行后直接得到你需要的纯字符串格式列表。

  • 方案2:数据库层面转换(适合大数据量场景)
    如果不想在Python层做额外遍历,可以用Django内置的Cast函数在查询时就把主键转为字符串类型:
from django.db.models import CharField
from django.db.models.functions import Cast

queryset = Registry.objects.filter(
    epas_id__contains=uuid_obj_id
).annotate(
    pk_str=Cast('pk', output_field=CharField())
).values_list('pk_str', flat=True)

pk_str_list = list(queryset)

内容的提问来源于stack exchange,提问作者Mark R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 05:06:03