如何修改默认的Django用户表[重复]
Posted
技术标签:
【中文标题】如何修改默认的Django用户表[重复]【英文标题】:How to Modify the default Django user table [duplicate] 【发布时间】:2020-04-22 05:09:55 【问题描述】:如何修改默认 Django 用户表和自定义用户表应由“名字”、“姓氏”、“性别”、“电子邮件(主键)”、“电话号码”字段组成。这个怎么做? forms.py
class UserForm(ModelForm):
class Meta():
model= User
fields = 'First_name','Last_name','Gender', 'email','Phone_number'
【问题讨论】:
这能回答你的问题吗? Extending the User model with custom fields in Django 【参考方案1】:您需要创建自定义模型来扩展 Django 用户模型。 看documentation
您的字段示例
from django.contrib.auth.models import User
class ExtendedUser(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
First_name = models.CharField(max_length=100)
Last_name= models.CharField(max_length=100)
Gender = models.CharField(max_length=100)
email = models.CharField(max_length=100)
Phone_number = models.CharField(max_length=100)
然后在你的表单中使用它
【讨论】:
虽然将字段命名为first_name
、last_name
、gender
和 phone_number
以遵循 PEP8 会更好。
这里怎么做email作为主键?
@kumar,试试email = models.CharField(max_length=100, primary_key=True)
@weAreStarDust 我试过了,但显示错误“user_id can not be null”以上是关于如何修改默认的Django用户表[重复]的主要内容,如果未能解决你的问题,请参考以下文章