python - 服从测试山羊 - OperationalError
问题描述
我正在阅读 Obey the testing goat book 并偶然发现了这个错误:
django.db.utils.OperationalError: table lists_item has no column named list_id
它仅在我在开发服务器上时出现(当我运行测试时,它就像一个魅力)。
这本书解释说它可能发生在这里:
如果您使用 manage.py runserver 启动您的开发服务器,您可能会遇到数据库错误“表 lists_item 没有名为 list_id 的列”。您需要更新本地数据库以反映我们在 models.py 中所做的更改。使用 manage.py 迁移。如果它让您对 IntegrityErrors 有任何不满,只需删除 [1] 数据库文件并重试。
我正在做它所说的,但错误并没有消失。也许有人可以帮助我吗?
解决方案
Djangomakemigrations
负责创建new migrations based on the changes detected to your models
(https://docs.djangoproject.com/en/2.1/ref/django-admin/#django-admin-makemigrations)。
您应该在运行makemigrations
之前运行migrate
,因为后者将前者检测到的新迁移应用到数据库。
推荐阅读
- r - 如何将网站中的画面数据抓取到 R 中?
- html - 导航栏的 Flex 顺序不正确
- r - 根据两个条件和每个条件的多个级别对新变量进行分类
- javascript - 如何使我的图像以随机顺序循环?
- swift - 如何导航到 NavigationView 内的任何视图
- cross-compiling - 为 RISCV 交叉编译器构建 Binutils 时出错
- javascript - AdonisJS 5 - 即使外键为空也预加载模型
- google-cloud-platform - 在哪里可以找到 Google Cloud DNS 的 DNSSEC 值?
- r - 如何使用 ggplot2 编辑折线图的值?
- python - Fantasy Football的Python PuLP优化问题,如何添加某些条件约束?