我正在尝试在全新的 Django 应用程序上启用测试。它必须运行几何测试。我的 Postgres 安装在 Postgres.app(使用 Postgis 2)中,我的默认数据库运行得很好(Django 应用程序同步、创建等没有问题),但是当我运行时
manage.py test
我收到错误:
django.db.utils.ProgrammingError: type "geography" does not exist LINE 4: "geom" geography(GEOMETRY,4326) NOT NULL
完整错误:https://gist.github.com/dyve/11dcd455aa5a25628773
我知道 Django 创建了一个 Postgres DB 来进行测试。我怀疑它没有在测试数据库上正确启用 PostGIS 扩展。
如果这里有人能帮助我进行测试,我将不胜感激。
最佳答案
提出问题就是回答问题......
我查看了 Django 源代码,发现它测试了 template_postgis
的存在。如果找到,则它适用于 Postgis < 2.0。如果未找到,则适用于 Postgis >= 2。
你瞧,我的数据库中出现了一个遗留的 template_postgis。我重命名了它(只是保留它,直到我确定其他项目不需要它为止),并且测试工作正常。
关于python - 使用 PostGIS 数据库测试 GeoDjango 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24730189/