如何安装PostGIS for Django?

时间:2016-11-10 18:31:29

标签: django postgresql migration postgis

所以我跟随DOCS,只是想确保我正确理解。 https://docs.djangoproject.com/en/1.10/ref/contrib/gis/install/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?

1 个答案:

答案 0 :(得分:1)

更好的方法是通过进行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)