Важность PostGIS с помощью geodjango

#python #django #postgresql #postgis #geodjango

Вопрос:

Поэтому сначала я попытался создать model использование model , из django.contrib.gis.db которого возникла ошибка, касающаяся GDAL (есть много сообщений об этом и о том, как это решить, и я уже это сделал).

После установки необходимых файлов для GDAL я также добавил базу данных postgres в свой проект django.

Поскольку используемая мной модель используется в том случае, если мы имеем дело с геоДжанго (или просто местоположением), но геоДжанго можно использовать и без этого.

Я имею в виду, что нет связи между нашей базой данных и GeoDjango, так как мы можем просто применять функции, такие как geodesic, geocoders etc, без каких-либо ошибок(пожалуйста, поправьте меня, если я ошибаюсь).

Поэтому, сделав это, я запустил миграцию, и все было в порядке.

Теперь мой вопрос таков;

Если все работало без каких-либо ошибок, то какая в этом польза от PostGIS.

Хотя я еще не использовал его, но все добавляют его в проект, в котором должен использоваться GeoDjango.

Зачем добавлять django.contrib.gis в установленные приложения и зачем добавлять PostGis расширение в базу данных postgresql.

Комментарии:

1. Postgis-это расширение для базы данных postgresql для поддержки пространственных запросов , django.contrib.gis имеет функции для django orm для выполнения пространственных запросов через django orm и добавления полей модели для столбцов геометрии , для получения дополнительной информации прочитайте docs.djangoproject.com/en/3.2/ref/contrib/gis

2. Не могли бы вы привести несколько примеров, пожалуйста.

3. Итак, можем ли мы сказать, что PostGIS просто добавляет больше функциональности в Django ORM для работы с GeoDjango и является необязательным??

4. Postgis , как я уже писал , является расширением postgresql, а не пакетом django, django через django.contrib.gis подключается к расширениям postgis для выполнения пространственных запросов и добавления поддержки геометрии, прочитайте ссылку на документацию geodjango, предоставленную в моем комментарии