Я пытаюсь вернуть набор запросов в django, который возвращает общую сумму покупки SUM (сумму), общую цену, уплаченную SUM (total_price) для каждой отдельной валюты, с которой пользователь совершил транзакции.Возможно ли это?Совет будет очень признателен
Модель транзакции ниже
class Transaction(models.Model):
currency = models.CharField(max_length=20)
amount = models.IntegerField()
total_price = models.DecimalField(max_digits=8, decimal_places=2)
date_purchased = models.DateTimeField()
note = models.TextField(default="")
owner = models.ForeignKey(User, on_delete=models.CASCADE)
Функция ниже
@login_required
def portfolio(request):
sum_amount = Sum('amount')
sum_total_price = Sum('total_price')
context = {
'transactions': Transaction.objects.filter(owner=request.user).annotate(
current_amount=sum_amount,
purchased_amount=sum_total_price
)
}
return render(request, 'webapp/portfolio.html', context, {'title': 'Portfolio'})
HTML ниже
{% for transaction in transactions %}
<tr>
<td>{{transaction.current_amount}}</td>
<td>{{transaction.purchased_amount}}</td>
</tr>
{% endfor %}
SaleForm Below
class SaleForm(forms.ModelForm):
amount_sold = forms.IntegerField()
total_price_sold = forms.DecimalField()
date_sold = forms.DateField(
widget=forms.TextInput(
attrs={'type': 'date'}
)
)
note = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Keep a Note?'}))
class Meta:
model = Sale
fields = ('date_sold', 'amount_sold', 'total_price_sold', 'note')
labels = {
'date_sold': _('Sale Date'),
}
help_texts = {
'date_sold': 'Use Calendar to enter date',
}