問題タブ [django-queryset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
22882 参照

python - さまざまなカテゴリから最新のオブジェクトを取得するDjangoクエリ

私は2つのモデルAとを持っていBます。すべてのBオブジェクトには、オブジェクトへの外部キーがありAます。オブジェクトのセットが与えられたA場合、ORMを使用して、B各オブジェクトに対して作成された最新のオブジェクトを含むオブジェクトのセットを取得する方法はありますかA

簡単な例を次に示します。

そこで、米国のエニータウンにある各パン屋で焼いた最新のケーキを返すクエリを探しています。

0 投票する
1 に答える
1763 参照

django - Djangoで単一のクエリセットを集約する方法は?

簡単な説明: queryset が与えられた場合、実際にすべての行を取得してPythonで実行せずにmyQueryset選択するにはどうすればよいですか?max("myfield")max

私が考えることができる最高のものはmax([r["myfield"] for r in myQueryset.values("myfield")])、何百万行もある場合はあまり良くありません。

詳細な説明: Django アプリに City と Country の 2 つのモデルがあるとします。City には、Country への外部キー フィールドがあります。

これは、Country インスタンスが.cities利用可能であることを意味します。highest_city_populationここで、最大都市の人口を返すCountry のメソッドを書きたいとしましょう。LINQ のバックグラウンドを持っているため、私の自然な本能は試してみるmyCountry.cities.max('population')ことですが、これは不可能です。

0 投票する
1 に答える
1224 参照

django - Django QuerySet API:iexactとicontainsに参加するにはどうすればよいですか?

私はこの参加をしています:

これはサイトです

Last Name:AbbasとFirst Name:Amrを試してみると、amrabbasには1人の学友がいることがわかります。

しかし、名だけを試してみると、データベースにamrという弁護士がいないことがわかります(明らかにあります)。

に変更(last__iexact=last_name)すると(last__icontains=last_name)、[名前]を空白のままにすると正常に機能し、amrが見つかります。

しかし、last__icontains=last_name「コリン」を検索すると、「コリンズ」と「コリングウッド」も表示されますが、これは私が望んでいることではありません。

私がどのように使用できるか知っていますかiexact、それが空白の場合は無視してもらえますか?

ありがとう

これは表示機能です。

0 投票する
2 に答える
199 参照

django - django、個別のモデルをクエリするための良い方法

私がそのようなモデルを持っていると仮定します:

したがって、データベースには、名前フィールドは同じでタイプが異なるFooオブジェクトがあります。

この情報を使用してhtml選択フォームを生成し、可能なすべての(異なる)名前を表示するので、最終的には選択フォームに次のような名前が表示されます。

の個別の値のリストを取得するにはどうすればよいですnameか?

0 投票する
2 に答える
1063 参照

django - 列の内容に基づいてDjangoクエリセットで一意の結果を取得する

タイトルに意味があるかどうかはわかりませんが、ここで質問です。

コンテキスト: どの生徒が教室に出入りするかを追跡して、いつでも誰が教室にいるかを知ることができるようにしたいと考えています。また、生徒が教室に何回入ったかなどを追跡したいと考えています。これは、私が達成したいことに非常に近い架空の例です。

テーブル Classroom を作成し、各エントリには Student (ForeignKey)、Action (enter、leave)、および Date があります。

私の質問は、現在中にいる学生を取得する方法 (つまり、入力アクションの日付が退出アクションの日付よりも遅い、または退出日がない)、および日付範囲を指定して学生を取得する方法です。当時教室にあったもの。


編集:よく考えて、複数の教室があることも追加する必要があります.

私の最初の試みは次のようなものでした:

ここで、action== 1 がイン、0 がアウトの場合。

ただし、これでは、生徒が教室を離れて再び教室に入るやいなや、誤ったデータが提供されます。students_now2 つの「enters」と 1 つの「leave」があるため、彼女はクエリセットに 2 回リストされています。また、特定の日付範囲を調べて、入学日が退学日より後の生徒を確認することもできません。

0 投票する
5 に答える
28994 参照

django - django.db.connection.queries の使用

かなり多くの SQL ステートメントを実行する Python/Django アプリケーションがあります。デバッグの目的で、実行されたすべての SQL ステートメントをリストする単純なビューを作成する必要があると考えました。

ドキュメントによると、このコードはそれを行うのに十分なはずです:

DEBUG が True である限り。

しかし、これは私に何も与えていません。DEBUG は確実に True に設定されています。この connection.queries はどのようなコンテキストで保存されますか? つまり、多くの SQL ステートメントを実行する 1 つのページを実行し、作成したhttp://myserver/sqlビューに切り替えて、そこにそれらの SQL ステートメントを表示できるはずですよね? もちろん、同じブラウザセッションを使用して...

db.reset_queries() がコードのどこかで実行されているかどうかを確認しましたが、そうではないようです。

connection.queries が常に空である理由はありますか?

0 投票する
3 に答える
1650 参照

python - Django でクエリセット内の一連のレコードを更新する最速の方法

数百万のレコードを持つクエリセットがあります。データベーステーブルで値がリセットされるように、ブール値を更新し、基本的に切り替える必要があります。それを行う最も速い方法は何ですか?

クエリセットをトラバースし、各レコードを更新して保存しようとしましたが、明らかに時間がかかりますか? これを非常に迅速に行う必要があります。何か提案はありますか?

0 投票する
3 に答える
23399 参照

django - Django の QuerySet.values_list を使用してプロパティを参照することは可能ですか?

個人のフル ネームを返す Django モデルにカスタム プロパティがあります。

クエリを作成するときに、そのプロパティを参照したいと思います。例えば:

残念ながら、Django は次の FieldError を生成します。

FieldError: キーワード 'full_name' をフィールドに解決できません

簡単に言えば、values_list() メソッドを介してカスタム プロパティにアクセスすることは可能ですか? そうでない場合、この問題を解決する最善の方法について誰か提案がありますか?

0 投票する
3 に答える
8682 参照

django - Django Haystack の結果を QuerySet のようにフィルター処理しますか?

Django Haystack 検索を「組み込み」の QuerySet フィルター操作、具体的には SearchQuerySet でサポートされていない Q() インスタンスと検索タイプでフィルタリングすることを組み合わせることは可能ですか? どちらの順序でも:

また

Django Haystack のドキュメントを閲覧しても、これを行う方法についての指示はありませんでした。

0 投票する
8 に答える
42351 参照

django - DRYを壊さずにカスタムQuerySetとManager?

DRYを壊さずにカスタムQuerySetとカスタムの両方を実装する方法を見つけようとしています。Managerこれは私がこれまでに持っているものです:

私がこのようなことをするまで、これはうまくいきます:

QuerySetはと同じメソッドを持っていないため、これはすぐにすべてを壊しますManager。カスタムQuerySetクラスを作成してで実装しようとしましたMyInquiryManagerが、すべてのメソッド定義を複製することになります。

このスニペットも機能することがわかりましたがfor_user、再定義に大きく依存しているため、追加の引数を渡す必要がありget_query_setます。

QuerySetManagerサブクラスの両方ですべてのメソッドを再定義せずにこれを行う方法はありますか?