我已经做了自定义配置的模型,看起来像这样:如何在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