用Django的AbstractUser来创建自定义用户并进行迁移的步骤演示

Django自定义用户演示

使用Django创建自定义用户并进行迁移的最小步骤演示。

指令

django-admin startproject some
cd some

./manage.py startapp users

用户/模型.py

from django.db import models

from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
  middle_name = models.CharField(max_length=255, null=True, blank=True)

一些/settings.py

+ AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = [
+    'users.apps.UsersConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

用户/管理员.py

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User

admin.site.register(User, UserAdmin)

指令 ɡ)

./manage.py makemigrations
./manage.py migrate

创建用户并显示扩展字段 , de *选项*)

./manage.py shell
In [2]: from users.models import User

In [3]: u = User.objects.create(middle_name='yay')

In [4]: u.middle_name
Out[4]: 'yay'

代码差异在合并的PR上。

    • Custom user by YumaInaura · Pull Request #1 · YumaInaura/django-custom-user-demo

 

    Update custom user add “middle_name” field by YumaInaura · Pull Request #2 · YumaInaura/django-custom-user-demo

在中国,只需要一个选项来释义下面的内容:

– 参考

在项目开始时使用自定义的用户模型
当开始一个新项目时,即使默认的 User 模型已经足够使用,强烈推荐创建一个自定义的用户模型。这个模型与默认的用户模型相同,但可以在将来根据需要进行自定义。

Django 的身份验证方法定制 | Django 文档 | Django


使用自定义用户的注意事项
在进行迁移的init(0001)阶段,必须包括使用自定义用户的操作。

在Django中,应始终使用自定义的用户模型- Qiita

如果已经迁移,则最好先初始化数据库,然后重新进行makemigrations。


将应用程序独立出来,有以下好处:在其他项目中可以重复利用,并能够在应用程序级别操作转储文件。

「用户」是cookiecutter-django中也使用的名称。我认为在这里统一使用会更好。
参考:尝试使用cookiecutter-django

如何自定义Django用户- Qiita

其他相关文章

继承Django的User模型进行自定义 | Hornet | 静冈基地的网页和主页制作

用户模型的自定义 | Narito博客

《Django 最佳实践 – William Vincent》

Django 迁移总结 – Qiita

原始的Github问题

 

招募在线聊天成员

如果你有任何问题、烦恼或需要咨询的事情,请随时使用LINE开放聊天功能。

 

推特

 

广告
将在 10 秒后关闭
bannerAds