2013-03-09 65 views
2

如何使用Django 1.5创建新的自定义用户配置文件?该文档不是很清楚,我如何使用Django 1.5创建自定义用户配置文件?

比如我需要:

class StandardProfile(models.Model): 
    name = models.CharField(max_length=255) #or ForeignKey(User) 
    email = models.CharField(max_length=255) #or ForeignKey(User) 
    password = models.CharField(max_length=255) #or ForeignKey(User) 
    full_name = models.CharField(max_length=255) 
    something = models.CharField(max_length=255) 

class ArtistProfile(models.Model): 
    name = models.CharField(max_length=255) #or ForeignKey(User) 
    email = models.CharField(max_length=255) #or ForeignKey(User) 
    password = models.CharField(max_length=255) #or ForeignKey(User) 
    full_name = models.CharField(max_length=255) 
    style = models.CharField(max_length=255) 
    music = models.CharField(max_length=255) 
    bank_account = models.CharField(max_length=255) 

如何将其更改为新的用户自定义模型?

(我想用它来验证用户身份的:https://docs.djangoproject.com/en/dev/topics/auth/

回答

2

你将不能够使用的Django 1.5的Custom User Model,因为你只能有这样的一个模型。

在你的情况,你可能希望有每个ProfilesUser模型之间的OneToOne relationship

from django.contrib.auth.models import User 

class StandardProfile(models.Model): 
    user = models.OneToOneField(User, primary_key=True) 
    something = models.CharField(max_length=255) 

class ArtistProfile(models.Model): 
    user = models.OneToOneField(User, primary_key=True) 
    style = models.CharField(max_length=255) 
    music = models.CharField(max_length=255) 
    bank_account = models.CharField(max_length=255) 
+0

感谢。我想我可以使用:AbstractBaseUser或类似的东西。 – usermoon 2013-03-09 20:19:35

+0

@usermoon你的情况并不需要! – 2013-03-09 20:28:42

相关问题