問題タブ [django-select-related]
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.
django - DJANGO:関連するモデルの属性に基づいてオブジェクトを並べ替える方法は?
UserモデルとUserProfileモデルがあります。Userモデルでは、last_nameのアルファベット順にクエリを並べ替えたいと思います。次に、User_profilesの「title」属性(マネージャー、エグゼクティブ、会計士など)で注文します。
モデル:
見る:
「タイトル」はユーザーモデルの属性ではありませんが、UserProfileモデルによってユーザーに関連付けられています。UserProfile.titleのアルファベット順に並べ替えるにはどうすればよいですか?
django - select_related() と filter() + Q()
パラメータによっていくつかの B インスタンスにリンクされた A インスタンスを取得する方法。私はそれをしようとします:
次のエラーで機能しません: «キーワード 'object_id' をフィールドに解決できません。» リンクされた B によって A を取得できるものは何ですか?
ありがとう!
[PS] これで動作しますが、本来の動作とは言えません:
django - Django で userprofile を使用してユーザーを取得する最も効率的な方法
Django では、推奨されるセットアップで、UserProfile インスタンスが OneToOneField によってその User インスタンスにリンクされます。
ビュー内でユーザーとプロファイルの両方を取得する最も効率的な方法は何ですか? select_related() 内部結合クエリを実行して、1 つのデータベース ヒットで両方のオブジェクトを取得できますか? それとも、常に 2 つの別々の呼び出しになりますか? おそらく、Django の認証ミドルウェアは、ビューが呼び出される前であってもユーザー インスタンスを取得します ... 誰か知っていますか?
django - Django: クラス ベース ビューの select_related を修正
Stackoverflow の皆さん、こんにちは。
Django の select_related クエリで奇妙な問題が発生しています。多数の都市の地理情報を一覧表示するdjango-cities appをインストールしました。私のプロジェクト モデルでは、都市要素への外部キーを作成して、models.pyに場所を保存しました。
考えられる都市の数が多いため、プロジェクト オブジェクトの作成時に関連する都市フィールドを選択するクラス ベースのビューでクエリを作成しました。
しかし、ProjectCreate クラスを要求すると、Django は依然としてデータベースから無数の外部キーを引き出します。ロガーは、次のリクエストを無制限に表示しています。
... DEBUG (0.000) SELECT "cities_region"."id", "cities_region"."name", "cities_region"."slug", "cities_region"."name_std", "cities_region"."code", "cities_region "."country_id" FROM "cities_region" WHERE "cities_region"."id" = 3861887 ; args=(3861887,) DEBUG (0.000) SELECT "cities_country"."id", "cities_country"."name", "cities_country"."slug", "cities_country"."code", "cities_country"."population" , "都市の国"."大陸", "都市の国"."tld" FROM "都市の国" WHERE "都市の国"."id" = 3865483 ;
ProjectCreate クラスを実行するときに、選択関連のメソッドを強制するにはどうすればよいですか?
あなたの助けと提案をありがとう!
django - Django管理者変更リスト最適化クエリ:select*の代わりにfield1、field2を選択します
かなりの数の外部キー(それぞれ平均10フィールド)を持つ大きな水平テーブル(30フィールド)があります。Django管理者にテーブルを表示している間、私は最適化に関連する選択を使用し、複数のクエリを回避します。私が探しているのは、list_displayエントリのみが取得され、30フィールド+(外部キーX 10)フィールドすべてが取得されないようにすることです。現在、テーブルのselect*とすべての結合フィールドのselect*が実行されます。基本的に、Django管理者レベルで「値」を取得する方法。ありがとう。
編集:以下の例:
私の問題は、これを表示するために生成されたクエリを見ると、X(x1からx30)でselect *を実行し、select_relatedを使用して、すべてのフィールドが必要ではない場合でも、y1からy10およびz1からz10を抽出することです。
このテーブルはCRMとして頻繁に使用されており、生成されるクエリが遅いため、現在は目を見張るものがあります。表示に使用されておらず、まだ照会されているブロブと巨大なvarcharもあります。
ありがとう。
django - 複数の外部キーのdjango select_related
複数の外部キーを持つモデルで select_related はどのように機能しますか? それは最初のものを選ぶだけですか?
クラス モデル: fkey1、fkey2、fkey3...
ドキュメントは、少なくともメソッドが指定されている場所では、これについて何も述べていません。
注: 混乱するのは私だけかもしれません。select_related は単なるパフォーマンス ブースターだと思います (それはわかります) が、それが別のものであるという間違った考えを持っていました。
django - Django の selected_related を使用しても、追加のデータベース ヒットが発生する
toを持つUserProfile
モデルがあります。to を持つモデルもあります。OneToOneField
auth.models.User
Image
ForeignKey
User
私の見解の 1 つで、次Image
のような s の束が得られます。
その後、上記で取得した各画像に対して、次のことを行います。
これが別のデータベース ヒットを引き起こさないことを期待していましたが、そうです。私は何を間違っていますか?
実行される SQL で.selecte_related()
a を確認できるため、 が実際にその仕事をしていると思うことに注意してください。LEFT OUTER JOIN
django - select_related/prefetch_related でこの Django コードを最適化する適切な方法は何ですか?
2 つのモデルと ForeignKey を使用した単純な状況があります。
テンプレートで行うときはいつでも{{some_image.iotd_date}}
、データベースにヒットします。
その情報をプリフェッチするにはどうすればよいですか? .select_related('iotd')
( )を試しましrelated_name
たが、うまくいきませんでした。
python - Django select_related: 関連するテーブル データをテンプレートに表示する方法
使用時にテンプレートに関連テーブルのフィールドを表示する際に問題が発生していますselect_related()
これが私のモデルです:
これが私の見解です:
Orders
と の関連フィールドをProducts
、特にCustomers
テンプレートで表すにはどうすればよいですか。たとえば、同じ関連レコードからとを表示Orders.invoice_number
したい。Products.name
Customer.customer_name
例えば: