[英]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.