"manage.py的数据库错误: "TypeError: 无效的PostgreSQL类型:bigint""

2024-04-28 12:13:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我的一个服务器最近在尝试使用来自管理.py在

$ python ./manage.py migrate
TypeError: invalid postgreSQL type: bigint
$ python ./manage.py syncdb
TypeError: invalid postgreSQL type: bigint
$ python ./manage.py shell
TypeError: invalid postgreSQL type: bigint

设置:django,postgis,south,ubuntu。在

令人困惑的是,这台服务器最近没有任何变化,另外3台服务器的设置应该是完全相同的,但工作正常。在

我打开了postgres语句日志记录,但没有看到任何明显的错误:

^{pr2}$

从设置.py公司名称:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'redacted',
        'USER': 'redacted',
        'PASSWORD':'...',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

postgres版本:

psql (9.1.9)
Type "help" for help.

redacted=# select version();
                                                  version
------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.1.9 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
(1 row)
redacted=# select postgis_lib_version();
 postgis_lib_version
---------------------
 2.0.1
(1 row)

Django-1.5.4型

Python 2.7.3


Tags: djangopy服务器manageversionpostgresqltypehelp
1条回答
网友
1楼 · 发布于 2024-04-28 12:13:46

结果发现该bug是由另一个模块djormextpgarray引起的,该模块已在服务器上更新,但在其他服务器上没有更新。我通过greping python模块找到错误消息的原因。在

这是模块中的一个快速修复(1行代码),最初通过添加模块的本地副本,然后通过向模块作者发送拉请求来部署。在

这个故事的寓意是:小心用pip升级模块。在

相关问题 更多 >