Djangoの個々のフィールドで絞り込み検索または事前検索を作成する方法

サミン・テンドルカール

ナビゲーションバーに検索フィールドを作成しました。現在、検索では、タイトル、ユーザー名、first_name、last_nameで投稿が検索されます。「タイトル」で検索すると、100件の結果が得られる可能性があります。

保持したいナビゲーションバーでの現在の検索

<form class="navbar-form navbar-left" action="{% url 'posts:all' %}">
      <div class="form-group">
       <input type="text" class="form-control" placeholder="Search" name="q">
      </div>
     <button type="submit" class="btn btn-default">Submit</button>
</form>

洗練された検索ページ(新しいページ)を作成したいと思います。そのページには、4つの個別の検索フィールドがあります。例:

タイトルで投稿を検索:__検索ボックス_____

ユーザー名で投稿を検索する__検索ボックス____

first_nameで投稿を検索する__検索ボックス____

last_nameで投稿を検索する__検索ボックス____

これは、ビューがすべてのフィールドを組み合わせて検索する方法です。

class Postlist(SelectRelatedMixin, ListView):
model = Post
select_related = ('user', 'group')
def get_queryset(self):
    queryset = super(Postlist, self).get_queryset()
    query = self.request.GET.get('q')
    if query:
        queryset = queryset.filter(
            Q(title__icontains=query)|
            Q(user__username__iexact=query)|
            Q(user__first_name__iexact=query)|
            Q(user__last_name__iexact=query)

        )
    return queryset

質問が基本的すぎる場合は申し訳ありません。私はdjangoの初心者です。これを行うにはどうすればよいですか。名前の異なる4つのフォームがありますか?name = "q"の代わりに、form name = "a"、form name = "b"、form name = "c"などの例があります。また、ビューはどのように表示されますか

ラルフ

その新しいページあなたの話を約4 HTML入力フィールドを持つ単一のHTMLフォームを持つことができ、自身の持つ各name属性(例:field_1field_2field_3およびfield_4)。

ビューは次のようになります。

def get_queryset(self):
    qs = super().get_queryset()

    final_q = Q()  # empty Q that will be OR'ed together with the other statements
    if len(self.request.GET.get('field_1', '')) > 0:
        final_q |= Q(title__icontains=self.request.GET['field_1'])
    if len(self.request.GET.get('field_2', '')) > 0:
        final_q |= Q(user__username__iexact=self.request.GET['field_2'])
    if len(self.request.GET.get('field_3', '')) > 0:
        final_q |= Q(user__first_name__iexact=self.request.GET['field_3'])
    if len(self.request.GET.get('field_4', '')) > 0:
        final_q |= Q(user__last_name__iexact=self.request.GET['field_4'])

    # apply Q to queryset
    qs = qs.filter(final_q)

    return qs

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

URI検索で複数のフィールドを検索する方法

分類Dev

PHPで検索するためのフィルターを作成する方法

分類Dev

検索エンジンフィールドのコンテンツをブラウザページで検索する簡単な方法はありますか?

分類Dev

Postgres全文検索:複数のフィールドで複数の単語を検索する方法は?

分類Dev

テーブルデータを検索するための検索入力フィールドを作成するにはどうすればよいですか?

分類Dev

Djangoの多対多フィールドを検索する方法は?

分類Dev

フィールドの一部を検索する方法は?

分類Dev

Java Fxを使用して、検索フィルターを作成するときに整数値を検索するための最良の方法は何ですか?

分類Dev

ブートストラップアコーディオンのデフォルトはすべて折りたたまれ、フリップカートの絞り込み検索のように機能します

分類Dev

hibernate-searchで、検索語が見つかったフィールドでファセットを検索する方法はありますか?

分類Dev

カールURL検索文字列の絞り込み

分類Dev

IntelliJ IDEAで変更されたファイルのみを検索する方法はありますか?

分類Dev

ReactJSで検索フィールドを作成する方法

分類Dev

ng-selectで複数のフィールドを検索する方法は?

分類Dev

再検索の絞り込み

分類Dev

MongoDB全文検索の特定のフィールドで値を検索する

分類Dev

混合フィールドの数字のみを検索する(elasticsearch)

分類Dev

mongoの特定のフィールドのみを検索する方法

分類Dev

その値がNULLまたは特定の値であるelasticsearchのフィールドを検索します

分類Dev

別のフィールドmongodbでグループ化された個別の値を検索する

分類Dev

MongoDBで個別のフィールドセットを検索する

分類Dev

ブログ投稿の代わりにWooCommerce製品を検索するための検索フィールド

分類Dev

OdooのOne2manyフィールドを閲覧または検索する方法は?

分類Dev

モルフィアで参照フィールドの内容を検索する方法

分類Dev

JSoupの検索バーで複数のキーワードを検索する方法はありますか?

分類Dev

検索を絞り込むための複数のチェックボックスフィルタリング

分類Dev

すべての配列要素で検索フィルターを作成する方法

分類Dev

「innerHTML」コードで新しく作成された要素で「検索フィルター」検索を行う方法は?

分類Dev

サブフィールドでSugarCRMRESTAPIを検索またはフィルタリングする方法

Related 関連記事

  1. 1

    URI検索で複数のフィールドを検索する方法

  2. 2

    PHPで検索するためのフィルターを作成する方法

  3. 3

    検索エンジンフィールドのコンテンツをブラウザページで検索する簡単な方法はありますか?

  4. 4

    Postgres全文検索:複数のフィールドで複数の単語を検索する方法は?

  5. 5

    テーブルデータを検索するための検索入力フィールドを作成するにはどうすればよいですか?

  6. 6

    Djangoの多対多フィールドを検索する方法は?

  7. 7

    フィールドの一部を検索する方法は?

  8. 8

    Java Fxを使用して、検索フィルターを作成するときに整数値を検索するための最良の方法は何ですか?

  9. 9

    ブートストラップアコーディオンのデフォルトはすべて折りたたまれ、フリップカートの絞り込み検索のように機能します

  10. 10

    hibernate-searchで、検索語が見つかったフィールドでファセットを検索する方法はありますか?

  11. 11

    カールURL検索文字列の絞り込み

  12. 12

    IntelliJ IDEAで変更されたファイルのみを検索する方法はありますか?

  13. 13

    ReactJSで検索フィールドを作成する方法

  14. 14

    ng-selectで複数のフィールドを検索する方法は?

  15. 15

    再検索の絞り込み

  16. 16

    MongoDB全文検索の特定のフィールドで値を検索する

  17. 17

    混合フィールドの数字のみを検索する(elasticsearch)

  18. 18

    mongoの特定のフィールドのみを検索する方法

  19. 19

    その値がNULLまたは特定の値であるelasticsearchのフィールドを検索します

  20. 20

    別のフィールドmongodbでグループ化された個別の値を検索する

  21. 21

    MongoDBで個別のフィールドセットを検索する

  22. 22

    ブログ投稿の代わりにWooCommerce製品を検索するための検索フィールド

  23. 23

    OdooのOne2manyフィールドを閲覧または検索する方法は?

  24. 24

    モルフィアで参照フィールドの内容を検索する方法

  25. 25

    JSoupの検索バーで複数のキーワードを検索する方法はありますか?

  26. 26

    検索を絞り込むための複数のチェックボックスフィルタリング

  27. 27

    すべての配列要素で検索フィルターを作成する方法

  28. 28

    「innerHTML」コードで新しく作成された要素で「検索フィルター」検索を行う方法は?

  29. 29

    サブフィールドでSugarCRMRESTAPIを検索またはフィルタリングする方法

ホットタグ

アーカイブ