我想設置一個應用程序,將處理有關注冊用戶的評論。所以在我的評論模型中,我想要一個ForeignKey到我的用戶模型。Django ForeignKey的AbstractBaseUser
我使用看起來像這樣一個自定義的用戶配置文件:
#In /profiles/models.py
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
company = models.CharField(default="", max_length=200)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
objects = MyUserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['company']
我與settings.py AUTH_USER_MODEL = 「profiles.MyUser」 收錄它。它在註冊,創建用戶等方面工作正常。所以我知道它的工作。
在我的審查模式,我寫了以下內容:
class Review(models.Model):
company = models.ForeignKey(settings.AUTH_USER_MODEL)
reviewer = models.ForeignKey(Reviewer)
rating = models.IntegerField(default=0)
review = models.TextField()
pub_date = models.DateTimeField('date published')
相反settings.AUTH_USER_MODEL我也試着寫profiles.MyUser, 'profiles.MyUser' 和MYUSER的。
我可以成功使用python manage.py makemigrations reviews
命令。但是當我做python manage.py migrate
時,無論我上面使用什麼版本,都會收到錯誤。
我得到的錯誤是:
ValueError: Lookup failed for model referenced by field reviews.Review.company: profiles.MyUser
您的個人資料應用包含在INSTALLED_APPS中嗎? – 2015-02-24 09:21:17
是的。用戶類在註冊用戶等方面效果很好。 – 2015-02-24 09:22:09
您可能需要將初始配置文件遷移作爲依賴項添加到評論之一。 – 2015-02-24 09:25:32