2013-09-22 29 views
0

我正在使用django 1.5的自定義用戶模型,但是當我嘗試執行初始syncdb或訪問shell時,出現以下錯誤:ImproperlyConfigured: AUTH_USER_MODEL refers to model tfe.CustomUser not installed。然而,它被列在settings.py文件中,所以我不知道爲什麼會發生這種情況。Django無法找到自定義用戶模型,但它已列在設置中

#models.py CustomUser 
    class CustomUser(AbstractBaseUser, PermissionsMixin): 
    username = models.CharField(
     verbose_name = 'Username', 
     max_length = 40, 
     unique = True, 
     db_index = True, 
     ) 
    email = models.EmailField(max_length=254, unique=True, verbose_name='email') 
    nation_id = models.IntegerField() 
    GENDER_CHOICES = (
     ('M', 'Male'), 
     ('F', 'Female'), 
     ) 
    gender = models.CharField(max_length=10, null=True, blank=True, choices=GENDER_CHOICES) 
    date_of_birth = models.DateField(null=True, blank=True, help_text="Use 'yyyy-mm-dd' format") 
    date_joined = models.DateTimeField(default=timezone.now()) 
    website = models.URLField(max_length=1000, null=True, blank=True) 

    USERNAME_FIELD = 'username' 
    REQUIRED_FIELDS = ['email','nation_id',] 

    is_active = models.BooleanField(default=True) 
    is_admin = models.BooleanField(default=False) 
    is_staff = models.BooleanField(default=False) 

    objects = CustomUserManager() 

    def get_full_name(self): 
     return self.email 

    def get_short_name(self): 
     return self.username 

    def __unicode__(self): 
     return self.username 

#settings.py 
AUTH_USER_MODEL = 'tfe.CustomUser' 
+0

'tfe'是你的應用程序名稱,不是嗎? – sachitad

+0

是的,這是我的應用程序名稱。 –

+0

您是否已將'tfe'添加到'INSTALLED_APPS'? – Rohan

回答

0

如果您有麻煩導入模型,使用manage.py shell並試圖從那裏進口。它會顯示問題。

0

你應該在INSTALLED_APPS列出你的應用程序。

也許它會降低複雜性,如果你不建立自己的自定義模型,但使用django機制到extend the user model

相關問題