簡體   English   中英

在Django中使用外鍵表的列進行分組

[英]Group By using column of foreign key table in Django

我有一個交易類:

class Transaction(models.Model):
 Driver = models.ForeignKey(User,related_name='Driver')
 Passenger = models.ForeignKey(User,related_name='Passenger')
 DriverRoute = models.ForeignKey(ServiceProviderRouteDetails)
 PassengerRoute = models.ForeignKey(PassengerRouteDetails)
 Status = models.CharField(max_length=20)

然后我有一個類TransactionHistory:

class TransactionHistory(models.Model):
 Transaction = models.ForeignKey(Transcation)
 User = models.ForeignKey(User)
 Debit = models.FloatField(null='true')
 Credit = models.FloatField(null='true')
 Status = models.CharField(max_length=25)
 DateOfPayment = models.DateTimeField(default=now)

交易歷史記錄具有“交易”列作為指向交易表的外鍵。 我的問題是我想為已登錄用戶的每個驅動程序路由計算借方總和。 事務表的DriverRoute可以有多行。

我想做這樣的事情:

TranscationHistory.objects.values('Transcation.DriverRoute.id').filter(User_id=request.user.id,Status='Completed').annotate(sum_score=Sum('Credit'))

但這是行不通的...任何猜測嗎?

使用__來遵循Django查詢中的關系。 這將為您工作...

 TranscationHistory.objects.values('transaction__driverroute__id')
     .filter(User__id=request.user.id,Status='Completed')
     .annotate(sum_score=Sum('Credit'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM