所以我跟随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?
答案 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)