推定:
class ItemToBill(models.Model):
date_to_bill = fields.DateField()
description = fields.charfield()
customerToBill = fields.ForeignKey(Customer)
今日までに請求する必要があるすべてのアイテムを検索し、それらを顧客ごとにグループ化して、必要な顧客ごとに 1 つの請求書を作成できるようにしたいと考えています。
for unique_customer in all_unique_customers_with_items_to_bill:
createInvoice(unique_customer, their_items_to_bill)
おそらく、アイテムを照会して (顧客による注文)、新しい顧客の一連のアイテムをいつ入力したかを特定することができます。これは次のようになります。
items = ItemToBill.objects.filter(date_to_bill=BEFORE_TODAY).order_by(customer)
prevCustomer = items[0].customer
customer_items = []
for item in items:
if prevCustomer != item.customer:
createInvoice(prevCustomer, customer_items)
customer_items = []
prevCustomer = item.customer
customer_items.append(item)
createInvioce(prevCustomer, customer_items) #Handle the last customer
しかし、もっと賢い解決策が必要です。提案?