如何将 QuerySet 从 python 传递给 js?

Posted

技术标签:

【中文标题】如何将 QuerySet 从 python 传递给 js?【英文标题】:How do I pass a QuerySet from python to js? 【发布时间】:2021-06-01 15:36:35 【问题描述】:

所以我目前在 Django 中工作,我想从我的数据库中获取数据并在我的 js 脚本中使用它。这就是我要传递给 js 的内容,stockhist=StockHistory.objects.filter(user_id=x).values()

【问题讨论】:

【参考方案1】:

您可以按照in the first answer to this question 的描述将查询集转换为 JSON,并在您的 API 响应中返回结果。

根据您项目的性质,您可能还想了解更多关于 Django Rest Framework 的serializers。

【讨论】:

【参考方案2】:

所以我想通了,但很难找到字典而不是我使用时得到的刺痛

```stockhist=(StockHistory.objects.filter(user_id=x))
hist=serialize('json',stockhist)```

当我像这样将 json 更改为 python 时,一个幸运的猜测让我得到了正确的答案

```stockhist=(StockHistory.objects.filter(user_id=x))
hist=serialize('python',stockhist)```

对于那些想知道我如何在我的 html 中调用它的人,这就是我所做的

``` hist|json_script:"Hist" ``` 

我在我的 js 中这样称呼它

var performanceHist = JSON.parse(document.getElementById('Hist').textContent)

【讨论】:

以上是关于如何将 QuerySet 从 python 传递给 js?的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 1.11 中将 QuerySet 传递给 Celery 任务

如何将值从 get_queryset() 传递到 get_context_data()

将数组从jquery传递给python函数时如何设置url?

如何从python脚本将数组传递给php?

如何从另一个 python 脚本将网站地址传递给 SpiderClass

如何从python将'a sv' dbus签名传递给udisks2.Mount()?