Djangoのクエリセットを使用して特定の行を返す方法


  1. 特定の条件に基づいて行をフィルタリングする: 例えば、"title" フィールドが "Djangoのチュートリアル" という値を持つ行を取得したい場合、次のようにクエリセットを使用します。

    queryset = Blog.objects.filter(title="Djangoのチュートリアル")

    このクエリセットは、"Blog" モデルの中で "title" フィールドが指定した値と一致するすべての行を返します。

  2. 特定の条件に基づいて行を除外する: 特定の条件に一致しない行を取得したい場合、 exclude() メソッドを使用します。例えば、"status" フィールドが "draft" でない行を取得するには、次のようにします。

    queryset = Blog.objects.exclude(status="draft")

    このクエリセットは、"Blog" モデルの中で "status" フィールドが "draft" 以外のすべての行を返します。

  3. 特定の行数だけを取得する: クエリセットの結果から特定の行数だけを取得するには、 [:x] を使用します(xは取得する行数)。例えば、最初の5行だけを取得したい場合、次のようにします。

    queryset = Blog.objects.all()[:5]

    このクエリセットは、"Blog" モデルの中で最初の5行を返します。