django 自定义 USER
2015-04-29 18:34
225 查看
django version: 1.7.1最简单的推荐:使用abstractuser扩充fields
profiles/models.py
from django.db import models from django.contrib.auth.models import AbstractUser from django.utils.translation import ugettext_lazy as _ # Create your models here. class KarmaUser(AbstractUser): karma = models.PositiveIntegerField(_("karma"),default=0,blank=True)
settings.py
AUTH_USER_MODEL = 'profiles.KarmaUser'2.使用abstractbaseuser只有当你对usermodel里面的默认字段不满的时候才要使用,这个方法只保留了passwork,last_login,is_active三个字段参考官方文档:https://docs.djangoproject.com/en/1.7/topics/auth/customizing/3.使用一对一关系将相关的模型一个个联系起来这很像django 1.5之前的方式.很适用于创建第三方扩充包的场景,松耦合,不会破坏之前项目的结构.需要此方法的场景:- 在自己的django prj下,希望有多重user拥有各自很不相同的字段.或许希望有些用户组合起来一些用户的类型字段,并且希望能在模型层面上解决这些问题.例子如下:
profiles/models.py
from django.conf import settings from django.db import models from flavors.models import Flavor class EaterProfile(models.Model): # 默认用户资料 user = models.OneToOneField(settings.AUTH_USER_MODEL) favorite_ice_cream = models.ForeignKey(Flavor,null=True,blank=True) class ScooperProfile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL) scoops_scooped = models.IntegerField(default=0) class InventorProfile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL) flavors_invented = models.ManyToManyField(Flavor,null=True,blank=True)
相关文章推荐
- 基于 Django1.5自定义user模型
- Django用自定义用户表替换User表后, 添加用户错误: IntegrityError: (1452 ...
- django 自定义用户user模型的三种方法
- Django自定义User模型和登录验证
- django 自定义用户user模型的三种方法
- 自定义 Django的User Model,扩展 AbstractUser类注意事项
- Django学习笔记 — 自定义User模型
- django 自定义user 表
- Django自定义User模型和登录验证
- 初入Django4-User表字段自定义拓展
- django 1.7 自定义用户user模型的三种方法
- django自定义USER
- Django 1.8扩展/自定义User
- django 自定义用户user模型的三种方法
- django后台自带User,Group。下面是给admin添加自定义表,并为admin添加副文本编辑器
- django 1.7 自定义用户user模型的三种方法
- django 自定义user使用权限管理模块
- 关于Spring security中自定义UserDetailService无法注入DAO的问题
- django 新建一个用户表 替代系统中自带的user
- 给django admin后台管理user扩展下拉框及多选框的字段