models: User與AbstractUser 問題

環(huán)境:創(chuàng)建兩個app,分別為teachers,students,models下有一樣的屬性,eg:性別,生日,名字等

如果在model導(dǎo)入的是AbstractUser,會報?(fields.E304)錯誤,錯誤如下圖所示:

錯誤顯示圖

相似案例:django的數(shù)據(jù)庫模型中的域多次引用同一個外鍵(表),該案例下是一個表


代碼review,本案例繼承的是AbstractUser,而不是User。

搜索同樣問題:繼承AbstracUser的304錯誤


文章提到在setting里添加?? "AUTH_USER_MODEL = 'teachers.Teachers'"


但嘗試之后發(fā)現(xiàn)依舊沒有解決問題,重新思考二者關(guān)系,源碼部分截圖:

user
asstractuser

二者只是在emai字段上有區(qū)別,如果不需要定義email字段就用后者,但使用前者的時候可以將emai默認(rèn)為空。

在使用二者的時候,無需在定義已有的字段。例如username,password,email 等,也可以繼承下來修改一下屬性(max_length等)。實際使用的時候個人還是水平低。在繼承abstracuser,并在setting里添加AUTH_USER_MODEL = 'teachers.Teachers'后,可以使用,但兩個以上的用戶模型可能就不適用?;蛘卟捎昧硗獾囊环N方式定義一個UserProfile(User)將共同屬性放在該類里面。setting 無需在設(shè)置。

我有兩個app, students,和teachers,teachers繼承的abstractuser,然后students繼承的teachers,students只要定義很少的信息即可。但對于有些無用的字段,需要繼承abstraetuser方法,將之重寫,令例如first_name=none,等

發(fā)現(xiàn)一個問題,具體原因沒清楚:teachers(AbstractUsr),students(Teachers),學(xué)生表里沒有例如username、等的屬性,但是admin后臺卻可以添加,且學(xué)生表里面有個teachers_ptr

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容