您好,登錄后才能下訂單哦!
這篇文章主要講解了怎么解決更改AUTH_USER_MODEL后出現的問題,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
使用django自帶的 AbstractUser 擴展之后,更改AUTH_USER_MODEL = 'users.UserProfile'屬性后,進行數據庫遷移時,
出現如下報錯:
ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'user.patient', but app 'users' isn't installed.
通過如下兩種方式注冊app:
單獨設置時,報錯情況未變。
取消注釋,則報unique錯誤,app必須唯一
后經過仔細查詢,找到解決辦法,并嘗試解決成功:
找到自己的/python3X/lib/site-packages/django/contrib/admin/migrations文件夾,把里面除了__init__.py的所有文件,全部刪了再makemigrations就可以了
補充知識:自定義userprofile覆蓋默認user表
一、創建users app
startapp users
二、創建userprofile模型
from django.db import models from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50,verbose_name=u"昵稱", default="") birday = models.DateField(verbose_name=u"生日", null=True, blank=True) gender = models.CharField(max_length=5, choices=(("male",u"男"),("female",u"女")), default="female") address = models.CharField(max_length=100, default=u"") mobile = models.CharField(max_length=11, null=True, blank=True) image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length=100) class Meta: verbose_name = "用戶信息" verbose_name_plural = verbose_name def __str__(self): return self.username
三、在setting.py中更改用戶模型
+
AUTH_USER_MODEL = "users.UserProfile"
看完上述內容,是不是對怎么解決更改AUTH_USER_MODEL后出現的問題有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。