0
オブジェクト内のすべての決定子オブジェクトのカウントを取得:ジャンゴ - クエリセット - すべての親が、私はこのモデルを持っている
class Order(models.Model):
#bunch of fields#
class Laptop(models.Model):
#bunch of fields#
class Camera(models.Model):
#bunch of fields#
class MusicPlayer(models.Model):
#bunch of fields#
最後の三つは、Orderクラスに関連する外部キーを持っています。 私はQuerySetを介して、すべての注文の各子オブジェクトの合計カウントを、それぞれのグループごとにグループ化して取得する必要があります。
次のようになります結果: ノート:5 カメラ:10 MusicPlayer:1
私は別のDjangoのクエリを使用してみましたが、私が得るすべては、それぞれのカウントを取得しているために代わりにすべての注文の数を注文してください。
これは、それぞれ別々にクエリを実行するだけで簡単に行うことができますが、1つのクエリですべてを実行するように要求されたことは分かります。
ありがとう!オーダーオブジェクトからラップトップに直接アクセスしようとしているので、AttributeErrorを返します。これは私が持っていたのと同じ問題です。カウントにアクセスするために、すべてのオブジェクトに1つずつアクセスする(例えばorders [0])ことは望ましくありません。 – Guido
ちなみに、annotateの値に "related_name"と同じ名前を付けると、エラーが返されます – Guido
あなたは正しい答えです。 1つのクエリのみを使用し、print(orders.query)を使用してクエリを印刷し、SQLをチェックすることができます –