首页 > 解决方案 > 如何在 django 的用户模型中将“移动”字段添加到默认 auth_user 表?

问题描述

我想在注册时添加 Mobile 文件以保存到 auth_user 表。

模型.py

from django.db import models
from django.contrib.auth.models import User

class UserRegModel(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    mobile = models.CharField(max_length=100)

表格.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserRegisterForm(UserCreationForm):
    mobile = forms.CharField(max_length=15)

    class Meta:
        model = User
        fields = ['username','email','mobile','password1','password2']

标签: pythondjango

解决方案


如果要将所有用户数据存储在一起,则应替换用户模型而不是创建 OneToOne 关系。从当前代码来看,您将获得 2 个表 - 一个用于标准 Django 用户,另一个通过移动数据连接到它。

在这里您可以阅读更多关于替换用户以及这两种方法之间的区别:

在 Django 中使用自定义字段扩展用户模型

或者直接在文档中:

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model


推荐阅读