2016-11-10 59 views
0

所以我遵循DOCS,只是想确保我的理解正确。 https://docs.djangoproject.com/en/1.10/ref/contrib/gis/install/postgis/如何为Django安装PostGIS?

难道我只是创建一个名为migrations.py与文件:

from django.contrib.postgres.operations import CreateExtension 
from django.db import migrations 

class Migration(migrations.Migration): 

    operations = [ 
     CreateExtension('postgis'), 
     ... 
    ] 

,并在我的项目目录降了吗?然后运行python manage.py makemigrations?

+0

'蟒蛇manage.py migrate'不'凡在我的项目目录makemigrations' – dnit13

+0

?只是根? – david

回答

1

仍然是更好的方式IST通过使SQL查询直接创建扩展:

CREATE EXTENSION postgis; 

之后,你只需要浏览到您的项目根(里面有一个manage.py文件)并运行python manage.py migrate(因为Django的1.9 - v.1.9第一次运行python manage.py makemigrations之前和之后python manage.py migrate)但是,如果你想用你的代码,你有

将其添加到“models.py”。 这就是所谓的通过"python manage.py migrate"

文件所以你的models.py样子:

from django.contrib.gis.db import models 
from django.contrib.postgres.operations import CreateExtension 
from django.db import migrations 

class Migration(migrations.Migration): 

    operations = [ 
     CreateExtension('postgis'), 
    ] 


class model1(models.Model): 
    geom = models.GeometryField(srid=4326,blank=True,null=True) 
    name = models.TextField(null=True)