从上一篇博可以看到一种使用django自带user表所拥有的权限功能的一种方式:外键一对一关联;
这里介绍一种不使用auth_user表的方式:只要继承User表的父类(AbstractUser)
1.构造模型类,继承AbstractUser类
from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50, verbose_name="") birth = models.DateField(verbose_name="生日", null=True, blank=True) gender = models.CharField( max_length=6, choices=( ('male', '男'), ('female', '女')), ) address = models.CharField(max_length=100, default="") mobile = models.CharField(max_length=11, null=True, blank=True) class Meta: verbose_name = "用户信息" verbose_name_plural = verbose_name def __str__(self): return self.nick_name2.在settings.py文件中指定刚创建的模型类
AUTH_USER_MODEL = "users.UserProfile" # app+模型类3.在迁移之前将原有表统统删除(如果之前迁移过)
4.迁移出来的表同样与权限表有关联
需求:根据字段的字符串,获取对象的该字段的数据?
措施:反射
>> from django.contrib.auth.models import User >> user = User.objects.last() >> getattr(user, "is_superuser") >> False