#django #chart.js #django-filters
#django #chart.js #django-фильтры
Вопрос:
В принципе, я хочу использовать ‘chartjs’ для отображения «Кластерной гистограммы» со следующими параметрами по годам
Общая сумма Полученная сумма Оставшаяся сумма
Я хочу извлечь данные из базы данных и отобразить их на графике, я сохранил данные всех вышеуказанных полей 3 в одной таблице для каждой даты, и я хочу также извлечь год из поля даты.
Главное, как отобразить кластеризованную гистограмму, извлекая данные из базы данных за каждый год.
class Allinvoice(models.Model):
company_choice = (
('VT_India', 'VT_India'),
('VT_USA', 'VT_USA'),
)
company = models.CharField(
max_length=30, blank=True, null=True, choices=company_choice)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
project = models.ForeignKey(Allproject, on_delete=models.CASCADE)
invoice_title = models.CharField(max_length=15)
invoice_id = models.IntegerField(primary_key=True)
currency = models.ForeignKey(Currency, on_delete=models.CASCADE)
invoice_amount = models.IntegerField()
invoice_date = models.DateField(
blank=True, null=True)
invoice_duedate = models.DateField(
blank=True, null=True)
invoice_description = models.TextField()
def __str__(self):
return str(self.invoice_id)
class Paymentdete(models.Model):
payment_id = models.IntegerField(primary_key=True)
invoice = models.ForeignKey(
Allinvoice, on_delete=models.CASCADE)
total_amount = models.IntegerField()
amountreceived = models.IntegerField()
amount_left = models.IntegerField()
currency = models.ForeignKey(Currency, on_delete=models.CASCADE, null=True)
date = models.DateField(
blank=True, null=True)
paymentmethod = models.ForeignKey(
Allpaymentmethod, on_delete=models.CASCADE)
def __str__(self):
return str(self.payment_id)
Итак, выше приведен код моих 2 моделей.Итак, я хочу получить общее количество всех данных за год, например
за 2019 год = общая сумма, полученная сумма и оставшаяся сумма на 2020 год = Общая сумма, полученная сумма и оставшаяся сумма … и т.д…
для всех лет в виде кластеризованной гистограммы
Ответ №1:
Вы делаете это так для поля с именем date
:
dates = Paymentdete.objects.filter(date__year='2021')