【发布时间】:2022-01-04 17:34:27
【问题描述】:
我有一个模型:
lifecycle_status_choice = (
('Lead', 'Lead'),
('Opportunity', 'Opportunity'),
('Customer', 'Customer'),
)
bill_status_choice = (
('Paid','Paid'),
('Pending','Pending'),
('Partially Paid','Partially Paid'),
)
class Bill(models.Model):
company_name = models.ForeignKey(Contact, on_delete=models.CASCADE)
grand_tot = models.DecimalField(max_digits=9, decimal_places=2)
status = models.CharField(max_length=100, choices=bill_status_choice)
lifecycle_status = models.CharField(max_length=100, choices=lifecycle_status_choice)
...
其中有一个 fk 到:
class Contact(models.Model):
associated_company = models.CharField(max_length=100)
...
Views.py
...
from bills.models import Bill
from django.db.models import Sum
def home(request):
data = Bill.objects.all().order_by('date')
context = {
'data ':data ,
}
return render(request, 'home.html',context)
前端图表js:
const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: [
{% for data in data %} '{{data.company_name}}', {% endfor %}
],
datasets: [{
label: '# of Votes',
data: [{% for data in data %} {{ data.grand_tot }}, {% endfor %}],
问题: 我在前端模板中使用charts.js,我试图显示一个图表,当用户在其中创建新公司名称时,该图表应显示按公司名称分组的总金额我将如何实现?
例如: 我为“xyz”公司创建了两张发票,金额为:100 美元和 200 美元 || & 为“abc”公司创建一张发票,金额为 100 美元 我希望图表对“xyz”发票金额进行分组并显示 300 美元(即:100+200)|| & "abc" = $100
仅供参考,我知道我在视图函数中使用了完全错误的东西,但这只是我尝试过的东西。 谢谢
【问题讨论】:
标签: javascript django charts grouping aggregation