2017-09-05 63 views
0

有沒有辦法讓我刪除Django默認創建的所有權限並阻止它再次創建它們?阻止Django重新創建默認權限

目前,我有一個運行Permission.objects.all().delete(),我也開始加入default_permissions =()Meta類我所有的車型,和尚未遷移,一旦我運行遷移,權限消失了一秒鐘,然後Django的重新創建它們(我知道這是一種真正的娛樂,因爲每次運行遷移時每個權限的ID都會增加)。

那麼,有沒有辦法可以完全禁用自動權限創建? 請注意,我是說禁用創建,而不是隱藏權限(我已經知道該怎麼做)。

回答

0

您是否研究過創建一個具有post_migrate信號的應用程序?

據我所知,當它調用post_migrate函數時,所有auth應用程序的權限創建代碼都會發生。 見herehere

應該是default_permissions =()should prevent creating permissions爲你指定在其元類,但是因爲你不能這樣做第三方或Django的安裝應用程序的模型,你留下了這些情況你的數據庫的權限,直到你的新清理post_migrate信號出現並清理它們。

希望可以幫到