1

4つのテキストボックスを含むページを表示しています。各テキストボックスには、ユーザーが入力した値が個別の変数に格納されています。私のデータベースには4つの列があり、それぞれが1つのテキストボックスの変数に対応しています。

これを実行したい:ユーザーは1、2、3、または4つすべてのテキストボックスに値を入力でき、入力した各値に従って検索結果をトリミングしたいと思います。各テキストボックスはオプションです。

どうすればよいですか?私はDjangoを初めて使用しますが、1つの検索用語を使用して検索する方法しか知りません。

4

1 に答える 1

2

Q オブジェクトが必要だと思います。参照: https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects

ドキュメントから:

Poll.objects.get(
    Q(question__startswith='Who'),
    Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
)

翻訳先:

SELECT * from polls WHERE question LIKE 'Who%'
     AND (pub_date = '2005-05-02' OR pub_date = '2005-05-06')

クリーンなフォームから Q クエリを入力できます。検証済みのフォームからクエリ セットにアクセスできるように、clean() をオーバーライドしてそのようにクエリセットを返すこともできます。

于 2012-06-28T18:32:07.170 に答える