у меня есть проблемы в поиске суммы и Avg стоимости акций купили, мой код выглядит следующим образом models.pyДжанго QuerySet сумма и средние значения
class Stock(models.Model):
name = models.CharField(verbose_name='Name of Stock', max_length=300)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
slug = models.SlugField(unique=True)
purchase_price = models.DecimalField(verbose_name='Purchase Day Price', blank=True, null=True, max_digits=30, decimal_places=2)
pre_price = models.DecimalField(verbose_name='Last Day Price', blank=True, null=True, max_digits=30, decimal_places=2)
current_price = models.DecimalField(verbose_name='Current Price', blank=True, null=True, max_digits=30, decimal_places=2)
class BuyStock(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
stock = models.ForeignKey(Stock, verbose_name='Search')
quantity = models.IntegerField(verbose_name='Quantity Required',default=0)
timestamp = models.DateTimeField(auto_now=True, auto_now_add=False)
views.py
def stock_bought(request):
queryset = BuyStock.objects.filter(user=request.user)
context = {'queryset': queryset}
return render(request, 'stock/stock_bought_list.html', context)
stock_bought_list.html
{% for item in queryset %}
<tr>
<td>
<a href="{{ item.get_absolute_url }}">{{ item.stock.name }}</a>
</td>
<td>
{{ item.purchase_price }}
</td>
<td>
{{ item.quantity }}
</td>
</tr>
{% endfor %}
Теперь, если пользователь покупает тот же товар много раз, список также показывает tha t много раз отдельно, но я хочу, чтобы это было как единый элемент (основанный на имени) и сумма количества и средней цены, надеюсь кто-то может мне помочь, спасибо.
Проверить аннотированный метод: https://docs.djangoproject.com/en/1.10/topics/db/aggregation/ – neverwalkaloner