2016-08-18 96 views
-3

我试图通过创建一个新的模式来扩展用户模型:试图扩展用户模型

from django.db import models 
from django.contrib.auth.models import User 

class utilisateur(models.Model): 
user = models.OneToOneField(User) 
sexe = models.CharField(max_length=1, blank=True) 
ville = models.CharField(max_length=50, blank=True) 
avatar = models.CharField(max_length=10000, blank=True) 
pays = models.CharField(max_length=50, blank=True) 
nbConnexion = models.IntegerField(default=0) 
fiabilite = models.IntegerField(default=0) 
nbMessages = models.IntegerField(default=0) 
nbReponses = models.IntegerField(default=0) 
approuveRecu = models.IntegerField(default=0) 
approuveDonne = models.IntegerField(default=0) 
desapprouveRecu = models.IntegerField(default=0) 
desapprouveDonne = models.IntegerField(default=0) 
signalementRecu = models.IntegerField(default=0) 
signalementDonne = models.IntegerField(default=0) 

在setting.py我已经补充说:

AUTH_PROFILR_MODULE = 'firstpage.utilisteur' 

但是,当我尝试创建新用户结合“用户”和“utilisateur”,我有此错误:

django.db.utils.OperationalError: table firstpage_utilisateur has no column named user_id 

我做了什么不对的,我怎么能解决该p会是什么?谢谢。

+0

乍看之下AUTH_PROFILR_MODULE中utilisateur的拼写不正确 – Tkingovr

+0

现在我是h aive:django.db.utils.IntegrityError:UNIQUE约束失败:auth_user.username –

回答

0

你考虑:

… 
    user = models.ForeignKey(User) 

相反的:

… 
    user = models.OneToOneField(User) 
+0

它是否扩展用户模型? –

0

在的Django的更高版本包含模型AbstractBaseUser,其中有一个用户的基本实现,并添加到它:

from django.contrib.auth.models import AbstractBaseUser 

class Utilisateur(AbstractBaseUser): 
    ...