python - 迁移 Django 模型时如何解决错误?
问题描述
我想迁移我的模型以在我的本地 PgSQL DB 上创建表。这不是我第一次在这种配置上这样做,但这次失败了。
我的操作:
1)我删除了我的旧数据库jlb_inventory
2)我重新创建了数据库jlb_inventory 为空
3)我删除了应用程序目录中的“0001_initial”/migration
4)我运行命令python manage.py makemigrations
=>错误
模型.py
# Table Etude
class Study(models.Model):
study_name = models.CharField(max_length=255, null=False)
class Inventory(models.Model):
watercourse = models.CharField(max_length=255, null=False)
town = models.CharField(max_length=255, null=False)
number_resorts = models.IntegerField(null=False)
inventory_date = models.DateField(null=False)
fk_study = models.ForeignKey(Study, on_delete=models.CASCADE)
class Resort(models.Model):
index_resort = models.IntegerField(null=False)
name_resort = models.CharField(max_length=255)
fk_inventory = models.ForeignKey(Inventory, on_delete=models.CASCADE)
class Taxon(models.Model):
name_taxon = models.CharField(max_length=255, null=False)
gi = models.IntegerField(default=0)
class Sample(models.Model):
MICRO_HABITAT_CHOICES = (
('1', 'Habitat1'),
('2', 'Habitat2'),
('3', 'Habitat3'),
('4', 'Habitat4'),
('5', 'Habitat5'),
('6', 'Habitat6'),
('7', 'Habitat7'),
('8', 'Habitat8'),
)
taxon_quantity = models.IntegerField(null=False)
fk_taxon = models.ForeignKey(Taxon, on_delete=models.CASCADE)
fk_resort = models.ForeignKey(Resort, on_delete=models.CASCADE)
我的错误
django.db.utils.ProgrammingError: relation "business_data_entry_taxon" does not exist
LINE 1: ...ame_taxon", "business_data_entry_taxon"."gi" FROM "business_...
有人知道这里有什么问题吗?谢谢!
解决方案
我测试了您的应用程序并且它正在运行(django 2.2)。如果您删除数据库并重新创建新数据库,那么它通常可以正常工作,但不知何故,我认为您需要首先迁移您的数据库。
因此,删除应用程序 INSTALLED_APPS,并重新创建 db 并删除所有迁移。然后运行 makemigrations 并迁移。然后将您的应用添加到 INSTALLED_APPS,再次运行 makemigrations 并迁移。
推荐阅读
- java - 返回一个完整的未来的正确方法是什么?
- javascript - 云消息推送通知单击操作
- python - 如何计算学生在 Pandas 中某个科目中获胜的次数
- ignite - 使用自定义缓存模板时无法通过关联键查询缓存
- mysql - 添加触发器时,表对数据库是未知的
- opencv - 使用python中的关键点进行复制移动伪造检测
- wordpress - 如何在 WordPress 中添加自定义帖子类型的搜索功能
- javascript - 使用对象文字并使用 lodash 绑定所有方法是一种好习惯吗?
- database - SQL删除日期早于x天的所有行
- visual-studio - Visual Studio 2017 外部 Web 工具设置存储在哪里?