如何从 Django 数据库中检索到的查询集数据中删除名称 "Queryset"?

How to remove the name "Queryset" from queryset data that has been retrieved in Django Database?

我们都知道,如果我们需要从数据库中检索数据,数据将作为查询集返回,但问题是如何从数据库中检索数据,它的名称是查询集,但从中删除该名称它。

也许我解释得不够清楚,所以你可以看下一个例子来理解我的意思:

AnyObjects.objects.all().values()

此行将像这样返回数据:

<QuerySet [{'key': 'value'}]

现在您可以看到检索数据左侧的名字:“QuerySet” 因此,我需要删除该名称以使数据如下:

[{'key': 'value'}]

如果您想知道为什么会这样,答案的缩写是我想通过 pandas 使用 Dataframe 因此,要将数据放入 Dataframe 方法,我应该使用该布局。

请帮忙!!

您可以使用list(…)将其转换为字典列表:

<strong>list(</strong>AnyObjects.objects.values()<strong>)</strong>

您需要使用 json 包对其进行序列化以获得 JSON blob,因为带单引号的字符串无效 JSON,以便使其成为 JSON blob,你可以使用:

import json

<strong>json.dumps(</strong>list(AnyObjects.object.values())<strong>)</strong>

您不必将其从查询集更改为其他任何内容; pandas.DataFrame 可以将任何 Iterable 作为数据。所以

df = pandas.DataFrame(djangoapp.models.Model.objects.all().values())

为您提供您期望的 DataFrame。 (虽然您可能想仔细检查 df.dtypes。如果您的数据中有 None,该列最终可能是 object 类型。)