python - 如何在 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']
解决方案
如果要将所有用户数据存储在一起,则应替换用户模型而不是创建 OneToOne 关系。从当前代码来看,您将获得 2 个表 - 一个用于标准 Django 用户,另一个通过移动数据连接到它。
在这里您可以阅读更多关于替换用户以及这两种方法之间的区别:
或者直接在文档中:
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model
推荐阅读
- c++ - 在 std::map 中使用 2 个键
- java - 我可以对我的代码做些什么来跳过输入文本文件的第一行?
- c++ - UIImageToMat() 保留以前调用的数据
- css - 字体不起作用,但路径正确
- git - 无法读取配置文件“%USERPROFILES%/.gitconfig”:没有这样的文件或目录
- html - 访问过滤器结果Angular 6
- c# - C# - 解析值时遇到意外字符:{。路径'[0].统计
- c++ - 授予单个程序访问权限,同时阻止所有其他程序 (WFP)
- java - 为什么文本节点值之间没有空格?
- function - Dart 编程语言中的 Function 和 Method 有什么区别?