我昨天運行了一些假遷移,并且昨天由于外鍵約束和其他類似的錯誤,Django 在重命名一些模型后不斷向我拋出我的資料庫中的一些表。
我知道這不是標準程式,很容易把事情搞砸。不過,它確實為我解決了所有問題,而無需像我幾乎下定決心那樣清除資料庫。
無論如何,正如我所說,一切都很好,期待組管理中“可用權限”中顯示的串列。以下(和其他)表不在資料庫中,實際上甚至沒有以應用程式的名稱開頭:

那些來自哪里?我怎樣才能擺脫它們?
uj5u.com熱心網友回復:
您可以使用 django shell 來獲得像這樣的舊權限:
from django.contrib.auth.models import Permission
# Assume that you have all name of the old permissions to delete in a list
permission_old = ['permission_name_1', 'permission_name_2', ...]
for perm in Permission.objects.all():
if str(perm) in permission_old:
print(perm)
perm.delete()
或者閱讀這篇文章
uj5u.com熱心網友回復:
感謝@Rvector 的回答,我被指出了這篇文章,其中這個答案讓我意識到remove_stale_contenttypes命令
[d] 洗掉資料庫中過時的內容型別(來自已洗掉的模型)。任何依賴于已洗掉內容型別的物件也將被洗掉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/334388.html
標籤:姜戈 django-admin django-迁移 django 数据库
上一篇:匿名用戶和登錄用戶的訪問內容
下一篇:Django令牌物件更新錯誤:django.db.utils.IntegrityError:唯一約束失敗:authtoken_token.user_id
