我有一个模型“毒品”,其中有一个孩子外键“会计分录”,其中包含一个数量。每种药物都有多个会计分录,我已经将儿童数量的总和汇总为sumQuantities。
我现在遇到的问题是,当我呈现模板时,我会看到以下内容:
手头数量 {“数量__sum”:11} {“量_和”:99} {“数量__sum”:222}
我试图将'Quantity__sum':11显示为基本值(11),但似乎无法使它正确地工作。
非常感谢您的帮助
models.py
class Drug(models.Model):
Facility = models.ForeignKey(Facility, on_delete=models.CASCADE)
Name = models.TextField(max_length=120,default='default')
def _get_sum_quantity(self):
return self.quantities.aggregate(Sum('Quantity'))
sumQuantity = property(_get_sum_quantity)
def __str__(self):
drug_name = self.Name
return drug_name
class Meta:
verbose_name_plural = 'Drugs'
class AccountingEntry(models.Model):
Drug = models.ForeignKey(Drug, on_delete=models.CASCADE, related_name='quantities')
Quantity = models.IntegerField(default='0')views.py
def update(request):
context = locals()
template = 'update.html'
return render(request, 'update.html', {'drug_list': Drug.objects.all()})HTML片段
{% for drug in drug_list %}
<td>{{ drug.Name }}</td>
<td>{{ drug.sumQuantity }}</td>
{% if not forloop.last %}
</tr>
<tr>
{% endif %}
{% endfor %}发布于 2017-02-01 23:50:07
我觉得这些台词
{'Quantity__sum': 11}
{'Quantity__sum': 99}
{'Quantity__sum': 222}来自drug.sumQuantity (位于HTML片段中)。因此,如果您想获得Quantity__sum的值,可以对SumQuantity属性执行点标记。所以,你可能有类似的东西
{% for drug in drug_list %}
<td>{{ drug.Name }}</td>
<td>{{ drug.sumQuantity.Quantity__sum }}</td>
{% if not forloop.last %}
</tr>
<tr>
{% endif %}
{% endfor %}https://stackoverflow.com/questions/41991724
复制相似问题