Django-使用PostGIS数据库和PostgreSQL数据库,我需要2个数据库吗?
我目前使用的是一个标准设置的PostgreSQL数据库Django-使用PostGIS数据库和PostgreSQL数据库,我需要2个数据库吗?,django,geodjango,django-postgresql,Django,Geodjango,Django Postgresql,我目前使用的是一个标准设置的PostgreSQL数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': password, 'HOST': 'localhost', 'PORT':
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': password,
'HOST': 'localhost',
'PORT': '',
}
}
我的问题是,我是否可以继续使用默认的postgres设置,并在shell中执行CREATE EXTENSION postgis
,以访问postgis功能?或者我需要单独添加postgis数据库,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': password,
'HOST': 'localhost',
'PORT': '',
}
'geodata': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'geo',
},
}
您可以继续使用默认的postgres设置,只需将引擎更改为:
啊,所以我猜
django.contrib.gis.db.backends.postgis
是一个扩展,它包含了django.db.backends.postgresql\u psycopg2
中的所有内容,以及特定于地理位置的功能?你说得对。django.contrib.gis.db.backends.postgis只是扩展了django.db.backends.postgresql_psycopg2以添加postgis类型。
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': password,
'HOST': 'localhost',
'PORT': '',
}
}