我正在尝试使用Django context_processor从数据库表中提取列数据。该表列包含不同版本的主数据。因此需要收集所有版本并将其作为上下文传递到html页面。上下文处理器功能如下。
我可以获取所有版本,但是格式很奇怪。知道如何清理并仅以阵列形式获取版本吗?列中当前有2个版本Version1.9和Version2.0。
context_processor.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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句