- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我在 Django 中创建了一个费用表应用程序,我试图获取所有费用的总和,然后我想将其显示在我的模板中。
我的模型:
class Expense(models.Model):
PAYMENT_CHOICES = (
('Cash', 'cash'),
('Credit', 'credit'),
('Debit', 'debit')
)
date = models.DateField()
store = models.CharField(max_length=100)
price = models.DecimalField(max_digits=20, decimal_places=2)
payment_type = models.CharField(max_length=8, choices=PAYMENT_CHOICES)
category = models.CharField(max_length=100)
def __unicode__(self):
return u'%s' % (self.date)
def _price_sum(self):
return self.objects.aggregate(total_price = Sum('price'))
price_sum = property(_price_sum)
我试图在我的模板中使用标签 {{ expenses.price_sum }}
调用“price_sum”
我的模板是这样的
{% if expenses %}
<table class='table table-hover'>
<tr>
<thead>
<th>Date</th>
<th>Store</th>
<th>Price</th>
<th>Payment Type</th>
<th>Category</th>
<th></th>
<th></th>
</thead>
</tr>
{% for expense in expenses %}
<tr>
<tbody>
<td>{{expense.date}}</td>
<td>{{expense.store}}</td>
<td>${{expense.price|floatformat:"2"|intcomma}}</td>
<td>{{expense.payment_type}}</td>
<td>{{expense.category}}</td>
<td>
<form action='{{expense.id}}/' method='get'>
<input type="submit" value="Edit" class="btn">
</form></td>
<td>
<form action='{{expense.id}}/delete/' method='post'>{% csrf_token %}
<input type="submit" value="Delete" class="btn btn-danger" data-dismiss="alert">
</form></td>
</tbody>
</tr>
{% endfor %}
</table>
<h3>Table: {{ expenses.price_sum }}</h3>
{% else %}
<p>No expenses logged.</p>
{% endif %}
我不确定我是否错误地使用了模板标签,或者我的功能是否有误或出了什么问题。我知道这可能真的很简单,但我搜索了整个 StackOverflow、Django 和 Python 文档以及我能找到的任何东西,但我就是想不通。
更新:views.py
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from expenses.models import Expense
from expenses.form import ExpenseForm
def index(request,template='expenses/index.html'):
all_expenses = Expense.objects.all()
return render(request, template, {'all_expenses': all_expenses})
def new(request, template='expenses/new.html'):
if request.method == 'POST':
new_expense = ExpenseForm(request.POST)
if new_expense.is_valid() and new_expense.clean():
new_expense.save()
return HttpResponseRedirect('/expenses/')
else:
new_expense = ExpenseForm()
return render(request, template, {'new_expense':new_expense})
def edit(request, expense_id, template='expenses/edit.html'):
expense = Expense.objects.get(id=expense_id)
if request.method == 'POST':
form = ExpenseForm(request.post, instance=expense)
if form.is_valid and form.clean():
expense = form.save()
return HttpResponseRedirect('/expenses/')
else:
expense = ExpenseForm(instance=expense)
return render(request, template, {'expense':expense})
def delete(request, expense_id):
if request.method == 'POST':
expense = Expense.objects.get(id=expense_id).delete()
return HttpResponseRedirect('/expenses/')
else:
return HttpResponse(status=404)
最佳答案
aggregate
返回看起来像 {'total_price': Decimal('1234')}
的字典。
因此,将 _price_sum
更改如下:
def _price_sum(self):
return self.objects.aggregate(total_price=Sum('price'))['total_price']
或者,如下更改模板:
{{ expenses.price_sum.price_sum }}
关于python - 使用 Queryset Model.objects.aggregate(Sum(***)) 对数据库列的所有值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182390/
我对 mongoosejs 中模型的使用感到有些困惑。 可以通过这些方式使用 mongoose 创建模型 使用 Mongoose var mongoose = require('mongoose');
我正在看 from django.db import models class Publisher(models.Model): name = models.CharField(max_len
我有自己的 html 帮助器扩展,我用这种方式 model.Reason_ID, Register.PurchaseReason) %> 这样声明的。 public static MvcHtmlS
假设模型原本是存储在CPU上的,然后我想把它移到GPU0上,那么我可以这样做: device = torch.device('cuda:0') model = model.to(device) # o
我过去读过一些关于模型的 MVC 建议,指出不应为域和 View 重用相同的模型对象;但我找不到任何人愿意讨论为什么这很糟糕。 我认为创建两个单独的模型 - 一个用于域,一个用于 View - 然后在
我正在使用pytorch构建一个像VGG16这样的简单模型,并且我已经重载了函数forward在我的模型中。 我发现每个人都倾向于使用 model(input)得到输出而不是 model.forwar
tf.keras API 中的 models 是否多余?对于某些情况,即使不使用 models,代码也能正常运行。 keras.models.sequential 和 keras.sequential
当我尝试使用 docker 镜像运行 docker 容器时遇到问题:tensorflow/serving。 我运行命令: docker run --name=tf_serving -it tensor
我有一个模型,我用管道注册了它: register_step = PythonScriptStep(name = "Register Model",
如果 View 需要访问模型中的数据,您是否认为 Controller 应: a)将模型传递给 View b)将模型的数据传递给 View c)都不;这不应该是 Controller 所关心的。让 V
我正在寻找一个可以在模型中定义的字段,该字段本质上是一个列表,因为它将用于存储多个字符串值。显然CharField不能使用。 最佳答案 您正在描述一种多对一的关系。这应该通过一个额外的 Model 进
我最近了解了 Django 中的模型继承。我使用很棒的包 django-model-utils 取得了巨大的成功。我继承自 TimeStampedModel 和 SoftDeletableModel。
我正在使用基于 resnet50 的双输出模型进行项目。一个输出用于回归任务,第二个输出用于分类任务。 我的主要问题是关于模型评估。在训练期间,我在验证集的两个输出上都取得了不错的结果: - 综合损失
我是keras的新手。现在,我将使用我使用 model.fit_generator 训练的模型来预测测试图像组。我可以使用 model.predict 吗?不确定如何使用model.predict_g
在 MVC 应用程序中,我加入了多个表并将其从 Controller 返回到 View,如下所示: | EmployeeID | ControlID | DoorAddress | DoorID |
我在使用 sails-cassandra 连接系统的 Sails 中有一个 Data 模型。数据。 Data.count({...}).exec() 返回 1,但 Data.find({...}).e
我正在使用 PrimeFaces dataTable 开发一个 jsf 页面来显示用户列表。用户存储在 Model.User 类的对象中。
我正在关注https://www.tensorflow.org/tutorials/keras/basic_classification解决 Kaggle 挑战。 但是,我不明白应该将什么样的数据输入
我是这个领域的新手。那么,你们能帮忙如何为 CNN 创建 .config 文件吗? 传递有关如何执行此操作的文档或教程将对我有很大帮助。谢谢大家。 最佳答案 这个问题对我来说没有多大意义,因为 .co
我是“物理系统建模”主题的新手。我阅读了一些基础文献,并在 Modelica 和 Simulink/Simscape 中做了一些教程。我想问你,如果我对以下内容理解正确: 符号操作是将微分代数方程组(
我是一名优秀的程序员,十分优秀!