如何通过更改字母案例在应用程序中重命名Django模型



我的应用中有一个django模型,看起来像这样(假设所有必需的模块已导入)

class profile(models.Model):
    user = models.OneToOneField(User)
    mobile_regex = RegexValidator(regex=r'^+?1?d{9,15}$', message="phone number must be entered in hte format '+23474857934'. Up to 15 digits allowed")
    mobile = models.CharField(validators=[mobile_regex], max_length=15, blank=True, null=True)

我犯了一个(愚蠢的)错误拼写配置文件名称(使用小写字母来启动模型名称而不是大写),并且想对此进行纠正,是否有一种方法可以解决此问题。

将名称从 profile 更改为 profile 并进行迁移并不能反映更改,我也不会有通常的。"您是否将appname.oldModelName重命名为appname.NewModelName?[Y/N]"查询

我很抱歉,如果这个问题似乎有些微不足道,我是Django的新手,感谢您的理解

我找到了一种解决此问题的方法

django如果您仅更改字母案例,则不会识别重命名,因此,这些步骤帮助我解决了问题:

  1. 完全更改模型的名称(诸如'temp'之类的简单内容),然后运行makemigrations命令(将识别此命令,Django会问您是否要重命名 - 输入'y')

  2. 然后,这次使用字母的适当套管

  3. 将其重新更改
  4. 然后再次运行makemigrations命令。和重命名。

这仅影响模型名称,而不影响您实际数据库中的表名称(默认情况下通常在所有小写字母中命名)

最新更新