Django の models で multiPolygonField を作る ( mysql )
参考
- GeoDjango を触ってみよう!
- selfsryo/GeoDjangoOfficialTutorial
- Getting 'DatabaseOperations' object has no attribute 'geo_db_type' error when doing a syncdb
ライブラリをインストールする
gdal をインストールする。
apt install -y libgdal-dev
設定ファイルを変更する
INSTALLED_APPS に 'django.contrib.gis' を追加する。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.gis', # 追加
'app',
]
DATABASES の ENGINE を 'django.contrib.gis.db.backends.mysql' に変更する。
DATABASES = {
'default': {
...
'ENGINE': 'django.contrib.gis.db.backends.mysql',
...
}
}
モデルを作成する
モデルに MultiPolygonField を指定する。
from django.contrib.gis.db import models
class Polygon(models.Model):
name = models.CharField(max_length=50, null=True)
multi_polygon = models.MultiPolygonField()
確認する
テーブルのスキーマを確認する。
mysql> SHOW COLUMNS FROM app_polygon;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | YES | | NULL | |
| multi_polygon | multipolygon | NO | MUL | NULL | |
+---------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
ディスカッション
コメント一覧
まだ、コメントがありません