問題タブ [django-managers]
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とドメインレイヤー
djangoを使用してドメインレイヤーを整理するにはどうすればよいですか?
クエリを保持するカスタムマネージャーを作成できることはわかっていますが、仕様パターンのようなより柔軟なものが必要な場合はどうでしょうか。
Djangoに固有のドメインパターンはありますか?
私は現在、Djangoを使用する大規模なアプリケーションを設計していますが、ドメインレイヤーを正しく実行する方法を知りたいです。
django - Djangoページ付け(オブジェクトに対応するページ番号を取得)
オブジェクトページからインデックスページを取得しようとしているページ付けがあります(逆のページ付けのようなものです)
get_paginated_postsは、モデルのページ番号を返しますPost
。
これは私のモデルです
私の懸念はPost.objects.get_paginated_posts
、get_page関数の呼び出しです。インスタンスからクラス
を呼び出すのは正しいですか?Post
これを可能にする他のより良い方法はありますか?
なぜ私super(Post, self).objects.get_paginated_posts
は同じことをするために電話をかけることができないのですか?オブジェクトのマネージャーへのアクセスがないため、機能しない
ことを理解しています。self.objects.get_paginated_posts
解決しました
Tomasz Elendtによって提案された最終的なコード:
django - マネージャーを Django モデルに宣言すると、「オブジェクト」が無効になるのはなぜですか
以下のモデルにマネージャーを宣言しましたが、その後、使用できなくなりましList.objects.get()
た。理由を知っている人はいますか?
そしてマネージャー:
エラーはtype object 'List' has no attribute 'objects'
django - Djangoの多対多の関係にレコードを追加する適切な方法
まず、プロジェクトをGoogle App Engineで実行することを計画しているので、私が知る限り、djangoのタイプをサポートしていないdjangoappengineを使用しています。ManyToManyField
このため、モデルを次のように設定しました。
ページには、グループ名を入力できるフォームフィールドがあります。このフォームフィールドの結果で、ユーザーとグループの組み合わせのUserGroupオブジェクトを作成し、グループがまだ存在しない場合は、新しいGroupオブジェクトを作成します。最初は、このロジックをメソッドを使用してUserGroupクラスに配置し始めましたが、これadd_group
をクラスに配置することは実際には意味がないことにすぐに気付きましたUserGroup
。これを行う適切な方法は何でしょうか?モデルマネージャーについていくつか見ました。これは何のためですか?
python - リクエスト オブジェクトに基づいてモデル インスタンスを作成するメソッド
私はこのようなモデルを持っています:
次のような関数を作成したい:
注:上記は純粋にデモンストレーションを目的としたものであり、正確には私がやっていることではありませんが、脱線します...
そのような関数を配置するのに理想的な場所はどこでしょうか? モデルのクラスメソッド? マネージャーで?ベストプラクティスは何でしょう。
python - Djangoget_or_createをオーバーライドする
メソッドをオーバーライドするモデルがありますsave
。これにより、save
メソッドを一部のデータに渡し、保存する前にフィールドに自動入力できます。これが私のモデルです:
アイデアは、アカウントに関連付ける必要のあるオブジェクトの基本モデルを設定することです。そうすれば、アカウントの接続が発生するたびに処理する必要がなくなります(これは多くのことです)。
get_or_create
ただし、リクエストを渡さずに新しいオブジェクトを保存する、も使用したいと思います。使用せずget_or_create
にtry
/を実行することは可能ですが、オーバーライドする方法があるかどうか、およびそれを実行する適切な方法は何かexcept
を知りたいです。get_or_create
Manager
(オーバーライドを検討している)のコードを調べたところ、get_or_create
関数は関数を呼び出すだけQuerySet.get_or_create
です。QuerySet
たぶん、バージョンではなく、他のマネージャー関数を使用するように書くことができますget_or_create
か?みんなどう思いますか?
django-models - djangoの注釈と集計機能
djangoには次のテーブルがあり、アイテムごとに投票数を数えようとしています。
次のクエリセットがあります
アイテム名とビュー カウントを含むリストを返しますが、アイテム オブジェクトは返しません。文字列値だけでなくオブジェクトが返されるように設定するにはどうすればよいですか? 私は Manager と Queryset メソッドをいじっていますが、それは正しいですか? アドバイスをいただければ幸いです。
json - カスタムマネージャーメソッド、jsonダンプ、および型エラーを回避する方法を使用してフィクスチャを作成します:xxxはjsonシリアル化可能ではありません
私のアプリはdbtablesのサブセットとより少ないレコードを使用するため、カスタムマネージャーメソッドを使用してテストフィクスチャを作成しようとしています。だから私はinitial_dataを使うという考えを捨てました。マネージャーで私はこのようなことをしています。Managers.pyで:
次に、csvファイルを変更して、一重引用符を二重引用符に置き換えるなどしました。次に、そのファイルをjsonとして保存しました。あまりにも馬鹿げている場合は申し訳ありませんが、テストデータを作成するのはこれが初めてです。もっとよく学びたいです。 way.fileのサンプルデータは次のようになります:myapp / Fixtures / testdata.json
これを使用してテストを実行しましたが、次のエラーが発生しました。
django - カスタムの連鎖可能なクエリセット
これは私のコードの一部です
次のコマンドは、出席した結果を示します
そうしないと、次のコマンドは機能しません
この問題を解決するにはどうすればよいですか?
django - 既にフィルター処理されたクエリセットで Django カスタム マネージャー関数を使用する
次のケースを検討してください。
my_filter()
既にフィルター処理されたクエリセットでカスタム関数を使用したいことに注意してください。上記にどのコードを配置すればよい[some code here]
ですか?全体の構造は正しいですか?