2012-02-26 14 views
0

私はテーブルinvoicesにフィールドcustomer_idといくつかのフィールドを持っています。各ユーザーが購入した購入数を選択する必要があります。 SQLでそれはすべきだ次のようになります。invoices.idの代わりinvoices.customer_idによってDjango GROUP_BY〜.annotate()

Invoice.objects.annotate(buy_count=Count('customer')).all() 

しかし、このコードグループと、間違った結果を返します:Djangoので

SELECT username, COUNT('customer_id') FROM `invoices` 
LEFT JOIN `auth_user` ON `auth_user`.id = `invoices`.customer_id 
GROUP BY `customer_id`, username 

私は試してみてください。

答えて

1

私のようなもの、あなたがそれを好転すべきだと思う:あなたは、請求書の彼らの数をお客様のリストを取得したいがあり

Customer.objects.annotate(buy_count=Count('invoice')).all() 

関連する問題