【问题标题】:How to create custom user profile using Django 1.5?如何使用 Django 1.5 创建自定义用户配置文件?
【发布时间】:2013-02-25 05:42:18
【问题描述】:

如何使用 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/

【问题讨论】:

    标签: python django


    【解决方案1】:

    您将无法使用 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)
    

    【讨论】:

    • 谢谢。我想我可以使用:AbstractBaseUser 或类似的东西。
    • @usermoon 你的情况不需要这个!
    猜你喜欢
    • 2013-04-05
    • 2013-02-10
    • 2012-08-31
    • 2013-09-08
    • 2017-02-10
    • 2012-10-12
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多