0

我有一个类交易:

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)

Transaction History 具有 Transaction 列作为指向 Transaction 表的外键。我的问题是我想为登录用户计算每个司机路线的借方总和。一个 DriverRoute 的事务表可以有不止一行。

我想做这样的事情:

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

但它不工作......任何猜测?

4

1 回答 1

0

用于__跟踪 django 查询中的关系。这对你有用...

 TranscationHistory.objects.values('transaction__driverroute__id')
     .filter(User__id=request.user.id,Status='Completed')
     .annotate(sum_score=Sum('Credit'))
于 2013-10-08T05:15:36.783 回答