Estoy usando Django 1.2.3, PostGIS 1.5.2.Django evita crear PointField en la base de datos cuando ejecuto python manage.py syncdb
Por alguna razón, cuando corro
syncdb python manage.py
está creando todos los demás campos de la base de datos de mis modelos, pero evita la creación de un campo puse el nombre de punto que supone ser un PointField.
En mis archivos model.py He importado:
from django.contrib.gis.db import models
y comentó:
#from django.db import models
mi modelo es como la siguiente:
class MyModel(models.Model):
myid = models.AutoField(primary_key=True)
title = models.CharField(max_length=50)
point = models.PointField()
objects = models.GeoManager()
También cuando está creando las lado de administración Obtengo los errores a continuación:
Failed to install index for reports.MyModel model: permission denied for relation spatial_ref_sys
CONTEXT: SQL statement "SELECT SRID FROM spatial_ref_sys WHERE SRID = new_srid"
PL/pgSQL function "addgeometrycolumn" line 74 at SQL statement
SQL statement "SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5)"
PL/pgSQL function "addgeometrycolumn" line 4 at SQL statement
En mi setting.py He añadido:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
y
INSTALLED_APPS = (
...
'django.contrib.gis',
...
todos los IDE por qué estoy lanzando estos temas? ¡Gracias!
¿Cambió la función del usuario de django a Superusuario? – dannyroa
Acabo de recibir el mismo error y lo solucioné cambiando el propietario de las dos tablas en cuestión con un SQL como este: 'ALTER TABLE geometry_columns OWNER TO newuser' ejecutado como superusuario. – markshep
La única forma de obtener acceso a la columna 'spatial_ref_sys' fue mediante el uso del superusuario. –