我正在使用一个过滤器和.aggregate
来对我的Manifests
模型中的一列cases
的值求和。当它显示在模板中时,它给了我正确的数量,但是当页面显示时,它显示为,例如{'cases__sum': 1192}
。数字1192
确实是总和,但我不想让剩下的文本显示给用户!我怎样才能阻止这一切,只知道电话号码
视图.py
def add_manifest(request, reference_id):
form = CreateManifestForm(request.POST or None)
if request.method == "POST":
if form.is_valid():
instance = form.save(commit=False)
try:
order = Orders.objects.get(id=reference_id)
instance.reference = order
except Orders.DoesNotExist:
pass
instance.save()
form = CreateManifestForm(initial={'reference': Orders.objects.get(reference=reference_id)})
reference = request.POST.get('reference')
manifests = Manifests.objects.all().filter(reference=reference)
total_cases = Manifests.objects.filter(reference=reference).aggregate(Sum('cases')) #totaling the cases for the readonly field
totalCNF = 0
for item in manifests:
totalCNF += item.cases * item.CNF
context = {
'form': form,
'reference_id': reference_id,
'manifests' : manifests,
'total_cases': total_cases,
'totalCNF': totalCNF,
}
return render(request, 'add_manifest.html', context)
添加清单.html
<label for="form.reference" class="formlabels">Case Total:</label><br>
<input type="text" value="{{ total_cases }}" readonly>
我只想在这个HTML输入框中显示数字,而不是整个引用
聚合值存储在字典中。你可以用
要仅显示值,或在构造上下文变量时执行此操作,请执行以下操作:
相关问题 更多 >
编程相关推荐