原文:https://www.cnblogs.com/linxiyue/p/4060213.html
User对象
User对象是认证系统的核心。用户对象通常用来代表网站的用户,并支持例如访问控制、注册用户、关联创建者和内容等。在Django认证框架中只有一个用户类,例如超级用户('superusers’)或('staff')用户只不过是相同用户对象设置了不同属性而已。
缺省字段Fields
username
用户名,必需字段。30个字符或更少,可以包含 _, @, +, . 和 - 字符。
first_name
可选。 30 characters or fewer.
last_name
可选。 30 characters or fewer.
email
邮箱,可选。 Email address.
password
密码,必需。Django不是以明文存储密码的,而是存储哈希值。
groups
用户组。Many-to-many relationship to Group
user_permissions
用户权限。Many-to-many relationship to Permission
1
2
3
4
5
6
7
8
9
|
groups
=
models.ManyToManyField(Group, verbose_name
=
_(
'groups'
),
blank
=
True
, help_text
=
_(
'The groups this user belongs to. A user will '
'get all permissions granted to each of '
'their groups.'
),
related_name
=
"user_set"
, related_query_name
=
"user"
)
user_permissions
=
models.ManyToManyField(Permission,
verbose_name
=
_(
'user permissions'
), blank
=
True
,
help_text
=
_(
'Specific permissions for this user.'
),
related_name
=
"user_set"
, related_query_name
=
"user"
)
|
is_staff
Boolean。决定用户是否可以访问admin管理界面。默认False。
is_active
Boolean。 用户是否活跃,默认True。一般不删除用户,而是将用户的is_active设为False。
is_superuser
Boolean。默认False。当设为True时,用户获得全部权限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def
has_perm(
self
, perm, obj
=
None
):
"""
Returns True if the user has the specified permission. This method
queries all available auth backends, but returns immediately if any
backend returns True. Thus, a user who has permission from a single
auth backend is assumed to have permission in general. If an object is
provided, permissions for this specific object are checked.
"""
# Active superusers have all permissions.
if
self
.is_active
and
self
.is_superuser:
return
True
# Otherwise we need to check the backends.
return
_user_has_perm(
self
, perm, obj)
|
last_login
上一次的登录时间,为datetime对象,默认为当时的时间。
1
|
user.last_login
=
timezone.now()
|
date_joined
用户创建的时间
方法Methods
is_anonymous()
是否是匿名用户。
is_authenticated()
用户是否通过验证,登陆。
get_full_name()
返回first_name plus the last_name, with a space in between.
get_short_name()
返回first_name.
se