如何从django中的queryset获取字符串表示

如何从django中的queryset获取字符串表示,django,django-models,Django,Django Models,我有这样的问题 qs=User.objects.all() 我正在像这样转换成dict qs.values('id','username') 但是我想得到的不是用户名,而是字符串表示形式 差不多 qs.values('id','uuuu str_uu')您不能,values只能获取存储在数据库中的值,字符串表示形式不存储在数据库中,它是用Python计算的 你能做的是: qs = User.objects.all() # Compute the values list "manually". d

我有这样的问题

qs=User.objects.all()

我正在像这样转换成dict

qs.values('id','username')

但是我想得到的不是用户名,而是字符串表示形式

差不多


qs.values('id','uuuu str_uu')

您不能,
values
只能获取存储在数据库中的值,字符串表示形式不存储在数据库中,它是用Python计算的

你能做的是:

qs = User.objects.all()
# Compute the values list "manually".
data = [{'id': user.id, '__str__': str(user)} for user in qs]

# You may use a generator to not store the whole data in memory,
# it may make sense or not depending on the use you make
# of the data afterward.
data = ({'id': user.id, '__str__': str(user)} for user in qs)
编辑:仔细想想,根据您的字符串表示的计算方式,可以使用来获得相同的结果