1. 繼承django中的AbstractUser類,然后在生成遷移文件時,報錯。
原因是在繼承的AbstractUser類中寫了一個一對一字段。
解決辦法:不用了user原生類了,自己寫密碼加密驗證,就這么尿性。
2. 解決完上一個問題,在生成遷移文件時,報錯。
ERRORS: policies.Site.user: (fields.E300) Field defines a relation with model 'User', which is either not installed, or is abstract. policies.Site.user: (fields.E307) The field policies.Site.user was declared with a lazy reference to 'policies.user', but app 'policies' doesn't provide model 'user'. policies.Site_user.user: (fields.E307) The field policies.Site_user.user was declared with a lazy reference to 'policies.user', but app 'policies' doesn't provide model 'user'.
原因:跨app建表時,有外鍵,或者一對一,一對多字段。
解決辦法:在字段關聯表前加入了app名稱,例如:app.表名
blog = models.OneToOneField('blog.Blog', null=True, on_delete=models.CASCADE)
3. 解決問題1.
1. 首先settings.py中配置
AUTH_USER_MODEL = '繼承user類的表'
2. 原因,其實是問題2造成,問題2解決了,就沒問題了