将自定义字段添加到Django中的auth_user表

hob*_*es3 10 django

目前我创建了另一个MyAppUser使用我的自定义列(例如地址和电话号码)调用的类/表,它具有Django身份验证的外键User.

像这样的东西

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

class MyAppUser( models.Model ) :
    def __unicode__( self ) :
       return self.user.username

    user    = models.ForeignKey( User )
    comment = models.TextField( blank = True )
    phone   = models.CharField( max_length = 135, blank = True )
Run Code Online (Sandbox Code Playgroud)

以上方法是一个很好的做法吗?或者我应该尝试auth_user直接修改?如果是这样,我该怎么做?

奖金问题:有没有办法同时调用我的自定义表User?我想过尝试from django.contrib.auth import models,然后打电话models.User,但我认为那也会发生冲突django.db.models.也许我需要尝试一下from django.contrib.auth.models import User as AuthUser?这是一个好主意吗?

DMa*_*yer 11

Django提供了内置支持,可以使用您自己的属性扩展用户,称为用户配置文件.这里概述了如何设置的快速概述.

  • 注意,在链接中,它们使用`user = models.ForeignKey(User,unique = True)`,这将引发django警告。您应该使用`user = models.OneToOneField(User,on_delete = ...)` (2认同)