[解決済み] Django の管理画面でデフォルトのクエリセットをオーバーライドする
2023-04-16 21:08:57
質問
私のモデルの1つは、グローバルにオブジェクトを隠すために使用される、削除されたフラグを持っています。
class NondeletedManager(models.Manager):
"""Returns only objects which haven't been deleted"""
def get_query_set(self):
return super(NondeletedManager, self).get_query_set().exclude(deleted=True)
class Conversation(BaseModel):
...
deleted = models.BooleanField(default=False)
objects = NondeletedManager()
all_conversations = models.Manager() # includes deleted conversations
Django admin module が使用するデフォルトの queryset を上書きして、削除された会話を含めるにはどうすればよいですか?
どのように解決するのですか?
あなたは
オーバーライド
get_queryset
メソッドをオーバーライドします。
class MyModelAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(MyModelAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(author=request.user)
Django<=1.5 では、このメソッドの名前は単に
queryset
.
関連
-
[解決済み】Djangoのクエリセットフィルタリングでnot equalを行うにはどうすればよいですか?
-
[解決済み] Djangoの "slug "とは何ですか?
-
[解決済み] Django のモデルで on_delete は何をするのですか?
-
[解決済み] Django の管理者パスワードをリセットする方法は?
-
[解決済み] QuerySetで空白またはNULLの名前をフィルタリングする方法は?
-
[解決済み] django の OneToOneField と ForeignKey の違いは何ですか?
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み] Django のモデルで電話番号を保存する最良の方法は何ですか?
-
[解決済み] Django Forms: 有効でない場合、エラーメッセージとともにフォームを表示する
-
[解決済み] Djangoで異なる設定でUnitテストを行うには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
6.5、Django - モデルでJSONFieldを使用してJSONフィールドでMySQLテーブルを作成する
-
Django の ForeignKey パラメータの使用法
-
ImproperlyConfiguredです。DEFAULT_INDEX_TABLESPACE の設定を要求されましたが、設定されていません。
-
ImproperlyConfiguredです。INSTALLED_APPS の設定を要求されたが、設定されていない
-
[解決済み] Djangoのテンプレートからsettings.pyの定数にアクセスすることは可能ですか?
-
[解決済み] django-rest-framework の管理者スタイルのブラウズ可能なインターフェイスを無効にする方法は?
-
[解決済み] DjangoのRest Frameworkはcsrfを削除します。
-
[解決済み] Djangoテンプレートでネストされたforループで一番外側のforloop.counterにアクセスする方法は?
-
[解決済み] Django で https 接続を非 https 接続と同じように簡単にテストするには 'runserver' を使うには?
-
[解決済み] リスト表示での多対多 Django