django - django.db.utils.ProgrammingError:类型“hstore”不存在
问题描述
大家好,所以我知道这个问题已经被问过很多次了,但是所提供的解决方案似乎并不能解决我的问题的根源。
根据我所见,解决方案是运行create extension hstore
.
但是,django.db.utils.ProgrammingError: type "hstore" does not exist
当我尝试运行 django 测试时出现错误,即python manage.py test test_function
我不熟悉 django 测试,但从我正在使用的代码库中看到的是,当我运行 django test 命令时,django 测试正在创建一个测试数据库。
当我检查测试数据库有哪些扩展可用时,\dx
我发现它没有hstore
. 如果我运行create extension hstore
,则会创建 hstore 扩展。问题是,每当我重新运行 django 测试时,python manage.py test test_function
它都会告诉我测试数据库已经存在,我需要先将其删除,否则命令会退出。通过删除数据库,刚刚添加的扩展名也会被删除,因此当我python manage.py test test_function
再次运行时,我最终会遇到同样的错误。
如何摆脱错误?谢谢你。
解决方案
原来我需要做的是使用以下命令创建默认 template1 的 hstore 扩展:
psql template1 -c 'create extension hstore;'
推荐阅读
- javascript - 在ckeditor 5中获取元素的类似html的字符串表示
- azure - 如何在 Azure Redis 缓存控制台中查看匹配模式的键计数
- python - python中生成器表达式上的`bool`
- angular - 使用 Angular 将对象添加到 LocalStorage 数组后显示不更新
- python - 为二维列表中的特定单元格分配值未按预期工作
- ios - 有没有办法锁定iPhone屏幕,然后我可以在锁定屏幕上进行测试然后再次解锁?
- r - 在基于字符串部分匹配的数据框中创建新列而不重复
- android - 为什么GPIO关闭后还在使用?
- angular - StaticInjectorError(AppModule)[AppComponent -> DialogComponent]
- angular - Lodash - 根据数组是否包含值进行过滤,然后在 Angular HTML 模板中映射和连接为逗号分隔的字符串