def unpaid_channel(channel_lbl, qstring): # find Shopify sales which are not in a channel payout batch paidout_sales = [] for cpt in ChannelPayouts.objects.filter(channel__counterparty_id=channel_lbl): paidout_sales += [s.id for s in cpt.sales.all()] qs = Sale.objects.filter(channel__counterparty_id="SHOPIFY").exclude(id__in=paidout_sales) qs = SaleProceedsSerializer.setup_eager_loading(qs) unpaid = list(SaleProceedsSerializer(qs, many=True).data) return [u for u in unpaid if u["proceeds"] != Decimal("0")]
def channel_payout_drilldown(payout_id, qstring): qs = ChannelPayouts.objects.get(id=payout_id).sales qs = SaleProceedsSerializer.setup_eager_loading(qs) return SaleProceedsSerializer(qs, many=True).data