首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django从dict响应中提取值

Django从dict响应中提取值
EN

Stack Overflow用户
提问于 2017-02-01 23:24:18
回答 1查看 130关注 0票数 0

我有一个模型“毒品”,其中有一个孩子外键“会计分录”,其中包含一个数量。每种药物都有多个会计分录,我已经将儿童数量的总和汇总为sumQuantities。

我现在遇到的问题是,当我呈现模板时,我会看到以下内容:

手头数量 {“数量__sum”:11} {“量_和”:99} {“数量__sum”:222}

我试图将'Quantity__sum':11显示为基本值(11),但似乎无法使它正确地工作。

非常感谢您的帮助

models.py

代码语言:javascript
复制
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

代码语言:javascript
复制
def update(request):
    context = locals()
    template = 'update.html'
    return render(request, 'update.html', {'drug_list': Drug.objects.all()})

HTML片段

代码语言:javascript
复制
{% for drug in drug_list %}
    <td>{{ drug.Name }}</td>
    <td>{{ drug.sumQuantity }}</td>
    {% if not forloop.last %}
        </tr>
        <tr>
    {% endif %}
{% endfor %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-01 23:50:07

我觉得这些台词

代码语言:javascript
复制
{'Quantity__sum': 11}
{'Quantity__sum': 99}
{'Quantity__sum': 222}

来自drug.sumQuantity (位于HTML片段中)。因此,如果您想获得Quantity__sum的值,可以对SumQuantity属性执行点标记。所以,你可能有类似的东西

代码语言:javascript
复制
{% for drug in drug_list %}
    <td>{{ drug.Name }}</td>
    <td>{{ drug.sumQuantity.Quantity__sum }}</td>
    {% if not forloop.last %}
        </tr>
        <tr>
    {% endif %}
{% endfor %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41991724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档