所以我遵循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 management .py makemigration ?
仍然是通过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"
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)