Django 迁移没有获取所有模型字段
Django migration not picking up all the model fields
我在 Windows 10 上用最新的 python 和 Django 创建了一个新的 Django 项目。在一个模型上创建带有多个 tables/models 的模型后,它跳过了一些字段。重试后它不会创建新的迁移脚本。我查看了初始 0001_initial.py 并且该文件中缺少字段。后来我添加了一个新字段,该字段已迁移 属性 但未迁移缺少的字段。所有其他模型都在初始迁移中成功更新。这恰好是一个 SQLite 数据库。
缺少字段的模型:
class articles(models.Model):
""" articles"""
title = models.CharField (max_length=500)
teaser = models.CharField (max_length=500)
summary = models.CharField (max_length=1500)
byline = models.CharField (max_length=250)
category = models.SmallIntegerField
articlenote = models.CharField (max_length=1000)
author = models.CharField
publishedDate = models.DateTimeField
articleStatus = models.CharField(max_length=4)
articleText = models.TextField
last_update= models.DateTimeField
def __str__(self):
return self.name
缺少的字段是:类别、作者、发布日期、文章文本
有趣的是,在尝试重新运行迁移后,我在创建的新 table 上收到缺少默认值错误。
由于这是一个全新的项目,我可以直接删除数据库和迁移脚本,然后重试。我想知道是什么导致了这个缺失的迁移。
您缺少字段的初始化。
因此,请使用 author = models.CharField(max_length=256)
而不是 author = models.CharField
,对于所有其他人,请使用括号。
我在 Windows 10 上用最新的 python 和 Django 创建了一个新的 Django 项目。在一个模型上创建带有多个 tables/models 的模型后,它跳过了一些字段。重试后它不会创建新的迁移脚本。我查看了初始 0001_initial.py 并且该文件中缺少字段。后来我添加了一个新字段,该字段已迁移 属性 但未迁移缺少的字段。所有其他模型都在初始迁移中成功更新。这恰好是一个 SQLite 数据库。
缺少字段的模型:
class articles(models.Model):
""" articles"""
title = models.CharField (max_length=500)
teaser = models.CharField (max_length=500)
summary = models.CharField (max_length=1500)
byline = models.CharField (max_length=250)
category = models.SmallIntegerField
articlenote = models.CharField (max_length=1000)
author = models.CharField
publishedDate = models.DateTimeField
articleStatus = models.CharField(max_length=4)
articleText = models.TextField
last_update= models.DateTimeField
def __str__(self):
return self.name
缺少的字段是:类别、作者、发布日期、文章文本
有趣的是,在尝试重新运行迁移后,我在创建的新 table 上收到缺少默认值错误。
由于这是一个全新的项目,我可以直接删除数据库和迁移脚本,然后重试。我想知道是什么导致了这个缺失的迁移。
您缺少字段的初始化。
因此,请使用 author = models.CharField(max_length=256)
而不是 author = models.CharField
,对于所有其他人,请使用括号。