django - 如何安装 Django 的 PostGIS?

标签 django postgresql migration postgis

所以我正在遵循文档,只是想确保我理解正确。 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 ?

最佳答案

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

关于django - 如何安装 Django 的 PostGIS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40534646/

相关文章:

php - 我想显示各个俱乐部的所有球员,但在 laravel 的表格中遇到一些问题

php - 未找到 Laravel 5.5 类 'Doctrine\DBAL\Driver\PDOPgSql\Driver'

python - 使用Haystack的CircleCI Elasticsearch

Django - 显示记录表的总和

python - 无法使用 PIP 安装库

sql - PostgreSQL:count() 还是保留一个计数器?

postgresql - java.lang.ClassNotFoundException : org. postgresql.驱动程序

swift - 具有多个目标的 Xcode Swift 4.2 迁移

python - 使用脚本从虚拟环境外部运行 DJango 服务器

sql查询distinct+其他列