簡體   English   中英

Django 自定義身份驗證模型

[英]Django custom auth model

不知道如何命名這個問題,讓我詳細說明。 我有一個非常古老的 django 項目,從 django 1.5 左右開始遷移它。 它一直有類Member ,擴展User並已實際用作應用程序的身份驗證模型。 AUTH_USER_MODEL從未更改,但是SOCIAL_AUTH_USER_MODEL設置為自定義身份驗證模型(它以這種方式工作)。 目前我正在遷移到 django 3.x 並且我遇到了 django-registration 的問題——它曾經使用Member設置為模型,但現在它根據AUTH_USER_MODEL進行檢查。 最重要的是,我想使其成為“正確”的方式並設置適當的自定義模型,並確保在深入研究它之前我做對了,因為我希望它不會太容易。

當我簡單地將AUTH_USER_MODEL設置為自定義模型時,我得到錯誤members.Member.user_ptr: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out. 當我讓Member擴展AbstractUser而不是User ,我缺少 id 和字段,因為 django 然后期望單個表中的所有數據(而不是有 2 個一對一的關系表)。 我可以以某種方式手動將數據合並到這個單個表中,但我什至不確定這是否正確。

讓這個項目在未來免於麻煩的最佳方法是什么? 我如何遷移/繼續? 我願意弄臟我的手:-)

沒有示例代碼很難提供幫助。 除此以外

在創建數據庫表后更改 AUTH_USER_MODEL 明顯更加困難,因為它會影響外鍵和多對多關系

這些文章可能對你有幫助。

Ruddra.com

托拜厄斯·麥克納爾蒂

暫無
暫無

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

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