我已經做了自定義配置的模型,看起來像這樣:如何在Django中使用「用戶」作爲外鍵1.5
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.ForeignKey('User', unique=True)
name = models.CharField(max_length=30)
occupation = models.CharField(max_length=50)
city = models.CharField(max_length=30)
province = models.CharField(max_length=50)
sex = models.CharField(max_length=1)
但是當我運行manage.py syncdb
,我得到:
MYAPP .userprofile:'user'與模型User有關係,其中 未安裝或抽象。
我也試過:
from django.contrib.auth.models import BaseUserManager, AbstractUser
但它給了同樣的錯誤。我錯在哪裏以及如何解決這個問題?
是「django.contrib中.auth「in settings.py中的'INSTALLED_APPS'中? – karthikr
這似乎工作:'user = models.OneToOneField(User,primary_key = True)'。但不知道有什麼區別。 – supermario
區別在於,對於OneToOneField,用戶只能有一個配置文件(這可能是您想要的)。 – Mark