Android 使用更多属性扩展django auth.models.User
我扩展django的auth.models.User的方法正确吗?我应该继承自Android 使用更多属性扩展django auth.models.User,android,python,django-users,Android,Python,Django Users,我扩展django的auth.models.User的方法正确吗?我应该继承自AbstractUser还是User? 这是我现在实现它的方式:但是我是否应该考虑将OnToeOnfield从用户配置文件连接到用户表? from django.contrib.auth.models import User PHONE_LENGTH = 13 NAME_LENGTH = 100 ########################### ### User Profile #############
AbstractUser
还是User
?
这是我现在实现它的方式:但是我是否应该考虑将OnToeOnfield从用户配置文件连接到用户表?
from django.contrib.auth.models import User
PHONE_LENGTH = 13
NAME_LENGTH = 100
###########################
### User Profile
###########################
class UserProfile(User):
""" inherits from AbstractUser in Django - mainly used for authentication"""
# other fields here
phone = models.CharField(max_length=PHONE_LENGTH) #optional
mobile = models.CharField(max_length=PHONE_LENGTH) #requried
# foreign key
subscription_type = models.ForeignKey(SubscriptionType)
def __str__(self):
return "%s's profile" % self.user
只有当您需要更改django提供的现有用户模型时,才能从AbstractUser继承,而我在您的代码中没有看到任何需要这样做的内容 除此之外,我不认为从用户继承是个好主意。 您应该像往常一样从models.Model继承,并为用户创建一个OneToOneField 有关更多指南,请参阅本在线书籍: