У меня есть две модели, Transaction и TransactionType.
class Transaction(models.Model):
tran_date = models.DateField()
tran_amount = models.FloatField(default=0.00)
tran_payment_method = models.ForeignKey(PaymentMethod,on_delete=models.SET_NULL,null=True)
tran_location = models.ForeignKey(Location,on_delete=models.SET_NULL,null=True)
tran_type = models.ForeignKey(TransactionType,on_delete=models.SET_NULL,null=True)
account = models.ForeignKey(User,on_delete=models.CASCADE,default='')
create_date = models.DateTimeField(auto_now_add=True, blank=True)
class TransactionType(models.Model):
name = models.CharField(max_length=200)
status = models.IntegerField(default=1) # 0:inactive 1:active
income_ind=models.IntegerField(default=0) # 1: expense 2: income
account = models.ForeignKey(User, on_delete=models.CASCADE,default='')
create_date = models.DateTimeField(auto_now_add=True, blank=True)
Я хочу использовать ORM для запуска запроса, подобного приведенному ниже
select b.name,sum(a.tran_amount) as total
from Transaction a
inner join TransactionType b
on a.tran_type = b.id
where a.account=some_user_id and b.income_ind=1
Как мне реализовать это, не используя необработанный запрос