第6章 API でのフィルタリング


システムはコレクションを "queryset" として認識します。さまざまな Operator を使用してこれをフィルタリングできます。

手順

  • "foo" という名前を含むグループを検索するには、以下を使用します。

    http://<controller server name>/api/v2/groups/?name__contains=foo
    Copy to Clipboard Toggle word wrap
  • 完全一致を検索するには、次を使用します。

    http://<controller server name>/api/v2/groups/?name=foo
    Copy to Clipboard Toggle word wrap
  • リソースが整数型の場合、次のように、文字列入力値を整数にキャストするには、末尾に \_\_int を追加する必要があります。

    http://<controller server name>/api/v2/arbitrary_resource/?x__int=5
    Copy to Clipboard Toggle word wrap
  • 以下を使用して、関連リソースをクエリーできます。

    http://<controller server name>/api/v2/users/?first_name__icontains=kim
    Copy to Clipboard Toggle word wrap

    これは、名前に文字列 "Kim" が含まれるすべてのユーザーを返します。

  • 一度に複数のフィールドをフィルタリングすることもできます。

    http://<controller server name>/api/v2/groups/?name__icontains=test&has_active_failures=false
    Copy to Clipboard Toggle word wrap

    この場合は、名前に "test" が含まれており、現在障害が発生していないグループがすべて返されます。

関連情報

使用可能な Operator の種類の詳細は、QuerySet API リファレンス を参照してください。

注記

UI を使って各基準に対してフィルタリングを実行している際に、API を確認することもできます。

6.1. API の高度なクエリー

返される結果のリストを、指定された値に一致するアイテムだけに絞り込むために使用される追加のクエリー文字列パラメーターを使用できます。フィルタリングには、データベース内に存在するフィールドとリレーションのみを使用できます。指定された値の特殊文字が URL でエンコードされていることを確認します。以下に例を示します。

?field=value%20xyz
Copy to Clipboard Toggle word wrap

フィールドは関係にまで及ぶ可能性がありますが、その場合はデータベースで定義されたフィールドと関係に限定されます。

?other__field=value
Copy to Clipboard Toggle word wrap

特定の基準に一致する結果を除外するには、フィールドパラメーターの前に not__ を追加します。

?not__field=value
Copy to Clipboard Toggle word wrap

デフォルトでは、すべてのクエリー文字列フィルターは AND 演算されるため、すべてのフィルターに一致する結果のみが返されます。複数の条件のいずれかに一致する結果をまとめるには、各クエリー文字列パラメーターの前に or__ を付けます。

?or__field=value&or__field=othervalue
?or__not__field=value&or__field=othervalue
Copy to Clipboard Toggle word wrap

デフォルトの AND フィルタリングでは、データベースリレーションシップ全体でフィルタリングされる各関連オブジェクトにすべてのフィルターが同時に適用されます。チェーンフィルターは、代わりに関連するオブジェクトごとにフィルターを個別に適用します。これを使用するには、クエリー文字列パラメーターの前に chain__ を付けます。

?chain__related__field=value&chain__related__field2=othervalue
?chain__not__related__field=value&chain__related__field2=othervalue
Copy to Clipboard Toggle word wrap

最初のクエリーを ?relatedfield=value&relatedfield2=othervalue と記述すると、同じ関連オブジェクトが両方の条件を満たしたプライマリーオブジェクトのみが返されます。チェーンフィルターを使用して記述すると、各条件に一致するプライマリーオブジェクトが交差している内容が返されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る