Django通过(继承)框架默认的user表搭建自己的用户表users
时间: 2024-05-03 11:22:10 浏览: 11
在Django中,可以通过继承框架默认的User表来创建自定义的用户模型。这种方法可以让我们在现有的用户模型上添加自定义的字段和方法,同时保留原有的用户管理功能。
以下是创建自定义用户模型的步骤:
1. 在models.py文件中定义一个新的用户模型,并从框架默认的User模型继承:
```
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
# 添加自定义字段和方法
pass
```
2. 在settings.py文件中指定新的用户模型:
```
AUTH_USER_MODEL = 'app_name.CustomUser'
```
其中,app_name是你的应用程序的名称,CustomUser是你刚刚定义的新用户模型的名称。
3. 运行migrations命令,创建新的数据库表:
```
python manage.py makemigrations
python manage.py migrate
```
现在,你可以像使用默认的User模型一样使用你的自定义用户模型了。例如,创建新用户的方式是:
```
from app_name.models import CustomUser
user = CustomUser.objects.create_user(username='username', email='email', password='password')
```
注意,在使用自定义用户模型时,一些Django内置的应用程序可能需要进行修改才能与新模型一起使用。例如,Django的管理员页面需要知道要使用哪个用户模型。你需要使用自定义的管理页面,或者进行自己的修改,以使其适应新模型。