在他的个人资料页面上查看他有多少订单。姜戈

See how many orders he has on his profile page. Django

当我进入我的用户个人资料页面时,我希望它能看到截止到今天的订单总数。我尝试了 aggregate 和 annonate,但它不起作用。我希望我使用过滤方法,但我不知道该怎么做。

模型中的订单数 = adet

我添加了 ""if siparis.bayi_id == user.id"" 以便输入的用户可以对其订单执行操作。
温度 Html

                                {% for siparis in siparis %}
                                    {% if siparis.bayi_id == user.id %}

                          
                                            <strong>{{ a }}</strong><br><small>Siparişler Toplamı</small>


                            {% endif %}
                            {% endfor %}
                            

型号 Siparis表示订单

class Siparis(models.Model):
bayi = models.ForeignKey('auth.User', verbose_name='bayi', on_delete=models.CASCADE, related_name='bayi',limit_choices_to={'groups__name': "BayiGrubu"})
urun = models.ForeignKey(Urun, on_delete=models.CASCADE)
adet = models.IntegerField()
tarih = models.DateTimeField()
status = models.BooleanField()

@property
def miktar(self):
    return (self.adet * self.urun.fiyat)

@property
def fiyat(self):
    return self.urun.fiyat

class Meta:
    verbose_name = 'Bayi Sipariş'
    verbose_name_plural = 'Bayi Siparişleri'

观看次数

def bayi_bayidetay(request):

siparis = Siparis.objects.all()
urunler = Urun.objects.all()
bayiler = bayi_bilgi.objects.all()

a = Siparis.objects.aggregate(Sum("adet"))
return render(request,'bayi/bayi_detay.html',{'bayiler':bayiler,'siparis':siparis,'urunler':urunler, 'a': a})

谢谢

您可以尝试在 a 之后添加过滤器,如下所示:

a = Siparis.objects.filter(bayi=request.user).aggregate(Sum("adet"))