Я новичок в Django. У меня есть две модели.
class KeyAccountManagerOrder(models.Model):
order = models.OneToOneField(Order, on_delete=models.CASCADE, primary_key=True)
kam = models.ForeignKey(KeyAccountManager, on_delete=models.PROTECT)
order_date = models.DateField()
or_amount = models.DecimalField(decimal_places=2, max_digits=12)
class KeyAccountManagerCollection(models.Model):
collection = models.OneToOneField(Collection, on_delete=models.CASCADE, primary_key=True)
kam = models.ForeignKey(KeyAccountManager, on_delete=models.PROTECT)
collection_date = models.DateField()
Cal_amount = models.DecimalField(decimal_places=2, max_digits=12)
Я хочу вернуть сумму суммы из обоих модулей. Например
TotalCollection=Sum(Cal_amount)
TotalOrder=sum(or_amount)
Я делать следующим образом (view.py): -
def get_all_target(self, request, *args, **kwargs):
collection = models.KeyAccountManagerCollection.objects.aggregate(total_collections = Sum('Cal_amount'))
order = models.KeyAccountManagerOrder.objects.aggregate(total_orders = Sum('or_amount'))
queryset = chain(collection, order)
Но теперь я запутался, потому что мне нужен также сериализатор. Есть ли другой способ или как я могу определить сериализатор для того же.