從上一篇博可以看到一種使用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