Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用网页上的上下文处理器从表中获取列作为数组_Javascript_Python_Django - Fatal编程技术网

Javascript 使用网页上的上下文处理器从表中获取列作为数组

Javascript 使用网页上的上下文处理器从表中获取列作为数组,javascript,python,django,Javascript,Python,Django,我试图使用Django上下文_处理器从DB表中提取列数据。此表列包含主数据的不同版本。所以需要收集所有版本并将其作为上下文传递到html页面。上下文处理器功能如下所示 我可以得到所有的版本,但是格式很奇怪。知道如何清理并仅获取阵列中的版本吗?该列中当前有2个版本,分别为Version1.9和Version2.0 上下文处理器.py def Version(request): value = ModelName.objects.values_list('version') if

我试图使用Django上下文_处理器从DB表中提取列数据。此表列包含主数据的不同版本。所以需要收集所有版本并将其作为上下文传递到html页面。上下文处理器功能如下所示

我可以得到所有的版本,但是格式很奇怪。知道如何清理并仅获取阵列中的版本吗?该列中当前有2个版本,分别为Version1.9和Version2.0

上下文处理器.py

def Version(request):
    value = ModelName.objects.values_list('version')

    if value:
        return { 'getVersion' : value }
    else:
        print("Unable to get Version")
        return { 'getVersion' : "" }
控制台输出:

<QuerySet [('Version1.9',), ('Version2.0',), ('Version1.9',), ('Version2.0',)]>

要获得不同版本的简单不同列表,您可能需要flat=True,即

value = ModelName.objects.values_list('version', flat=True)
将它从多个元组的查询集转换为一个值数组

现在,这不会为您消除重复,但您可以通过将其转换为一个集合来进行排序

versions = set( ModelName.objects.values_list('version', flat=True) )
value = ' '.join(versions)

谢谢你,亚当。。所以我把它改成了set。我仍然得到'。为什么要加上这个<代码>{';版本1.9';,';版本2.0';}。。我需要通过转换为字符串来删除它吗?嗯,可能值得使用join()显式地将其转换为字符串。我将更新示例Adam,尝试了您的更新解决方案。在
''.join(versions)
之后,我得到的输出是
**Version2.0version1.9**
。我将其作为上下文传递给Django模型,并可以访问HTML页面上的变量。在这里,我使用JavaScript拆分-
value.split(“”)
创建数组作为
[“Version2.0”,“Version1.9”]
非常感谢您的快速帮助!!!那么,如果这解决了您的问题,您可以单击答案旁边的勾号,将其标记为已接受的正确答案。