python - Django:如何通过删除每个值前面的 Decimal( 来从查询中获取干净的数据?
问题描述
我想要一个干净的列表,但是当我运行查询时,它会在每个数字之前返回“十进制(”符号。这是我的查询
processes = ProcessInfo.objects.filter(user_rel=user_pk).order_by('-id')
process_score = processes.filter(user_rel=user_pk).values_list('process_score', flat=True)
process_list = list(process_score)
print(process_list)
我得到的是:
> [Decimal('3797.00'), Decimal('0.00'), Decimal('301.00'),
> Decimal('0.00'), Decimal('144.00'), Decimal('55.00'),
> Decimal('181.00'), Decimal('0.00')]
模型:
process_score = models.DecimalField(default='0', decimal_places=2, max_digits=10, null=True, editable=False)
我如何在 js 文件中使用它:
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: {{ process_list|safe }},
datasets: [{
label: 'Automation Potential',
data: {{ process_list_score|safe }},
我怎样才能摆脱 Decimal( ?我在 js 图表中使用这些数据。我只想重新调整像这样的值 '3797.00, '0.00','301.00'....
解决方案
您可以使用json_script
模板标签以 JSON 格式将数据从您的视图传递给一些 JS
{{ process_list|json_script:"process-list" }}
<script>
const process_list = JSON.parse(document.getElementById('process-list').textContent);
</script>
JS 变量process_list
现在将是一个没有“十进制”的字符串数组
然后,您可以在图表中使用此变量
new Chart(ctx, {
type: 'bar',
data: {
labels: process_list,
...
推荐阅读
- r - 如何在正确的方向上记录转换 R geom_histogram 的 y 轴?
- javascript - Deno.env 不是函数
- c++ - 为什么一种算法比具有相同时间复杂度的另一种算法更快?
- c# - 在c#中将字节[]复制到3D[]
- django - 向管理页面添加部分
- react-native - 在标题 React Navigation v5 中按下按钮后,React Native(Expo)刷新前一个屏幕
- javascript - 比较不同大小的数组 - D3 JS
- amazon-web-services - 红移时间戳时区
- docker - 如何更改 Dockerfile 中文件夹的权限
- android - 为什么 ViewPager 高度 match_parent 不起作用?