如何将字段添加到现有模型[重复]

Posted

技术标签:

【中文标题】如何将字段添加到现有模型[重复]【英文标题】:How to add a field to an existing model [duplicate] 【发布时间】:2021-04-05 21:45:03 【问题描述】:

我想扩展和覆盖 User 模型中存在的字段,这些字段位于“django.contrib.auth.models”中(该模型已创建)。我首先尝试在 User 模型Client 模型之间创建 外键一对一关系 (我在其中添加了额外的字段),但我认为这不是一个好习惯。如何在 User 模型中直接添加和覆盖字段,而不必创建另一个类模型来扩展它。

from django.contrib.auth.models import User

class Clients(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
#client = models.OneToOneField(User, on_delete=models.CASCADE)
cell = models.PositiveIntegerField (blank=False)
address = models.CharField(default = "Sandton, JHB", blank = False, max_length=132)

【问题讨论】:

【参考方案1】:
from django.contrib.auth.models import AbstractUser

class CustomUser(AbstractUser):

    pass

现在在您的 settings.py 文件中,添加以下行

AUTH_USER_MODEL = "module.file.CustomUSer"

【讨论】:

以上是关于如何将字段添加到现有模型[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字段添加到 Django 的现有数据库(版本 < 1.7)

如何向 CloudKit 中的现有记录添加字段

XSLT 如何组合模板并将现有字段添加到某些元素

如何将csv日期时间字符串保存到Django模型字段中[重复]

如何使用数据为现有模型中的新模型字段设置默认值

如何使 EXT JS 模型和代理商店工作? (请帮忙!)