簡體   English   中英

在Django中取消注冊第三方ModelAdmin會導致NotRegistered錯誤

[英]Unregistering a third-party ModelAdmin in Django causes NotRegistered error

我想在管理站點中完全隱藏來自第三方模塊( otherapp )的模型。

我將admin.site.unregister(ModelToHide)放在我的某個應用程序的管理員( myapp )中,但它會在每個頁面上導致NotRegistered錯誤。 問題是myapp.admin otherapp.admin 之前 otherapp.admin

我試圖改變順序INSTALLED_APPS以便otherappmyapp之前出現,但它沒有幫助,Django以相反的順序加載它們。 我在其中一篇評論中讀到,根據Django的書, INSTALLED_APPS順序並不重要。

實際上,我創建這個問題只是為了分享我讓它為我工作的方式,因為花了一些時間來找出解決方案。 希望這有助於某人。

有兩種選擇:

  1. admin.site.unregister(ModelToHide)放在urls.py中的admin.autodiscover() ,以便在所有模型注冊后運行。
  2. 添加導入到myapp.adminimport otherapp.admin以便首先加載它。

靈感來自12

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM