Sto usando Django 1.2.3, PostGIS 1.5.2.Django evita di creare PointField nel database quando eseguo python manage.py syncdb
Per qualche ragione quando corro
pitone manage.py syncdb
è la creazione di tutti gli altri campi del database dai miei modelli, ma evita la creazione di un campo ho chiamato punto che dovrebbe essere un PointField.
Nei miei file model.py Ho importato:
from django.contrib.gis.db import models
e ha commentato:
#from django.db import models
mio modello simile a questa:
class MyModel(models.Model):
myid = models.AutoField(primary_key=True)
title = models.CharField(max_length=50)
point = models.PointField()
objects = models.GeoManager()
Anche quando sta creando il lato admin Ottengo gli errori di seguito:
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
Nel mio setting.py ho aggiunto:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
e
INSTALLED_APPS = (
...
'django.contrib.gis',
...
Qualsiasi IDE per questo che sto ansante questi problemi? Grazie!
Hai cambiato il ruolo dell'utente django in Superuser? – dannyroa
Ho appena ricevuto lo stesso errore e l'ho risolto cambiando il proprietario delle due tabelle in questione con SQL in questo modo: 'ALTER TABLE geometry_columns OWNER TO newuser' eseguito come superutente. – markshep
L'unico modo per accedere alla colonna 'spatial_ref_sys' era usando il superutente. –