==============
django-geojson
See the documentation <https://django-geojson.readthedocs.io/en/latest/>
_ for more information.
django-geojson is a set of tools to manipulate GeoJSON with Django >= 3.2:
- (De)Serializer for (Geo)Django objects, querysets and lists
- Base views to serve GeoJSON map layers from models
- GeoJSON model and form fields to avoid spatial database backends
(compatible with django-leaflet for map widgets)
.. image:: https://readthedocs.org/projects/django-geojson/badge/?version=latest
:target: http://django-geojson.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/django-geojson.svg
:target: https://pypi.python.org/pypi/django-geojson
.. image:: https://img.shields.io/pypi/dm/django-geojson.svg
:target: https://pypi.python.org/pypi/django-geojson
.. image:: https://travis-ci.org/makinacorpus/django-geojson.png?branch=master
:target: https://travis-ci.org/makinacorpus/django-geojson
.. image:: https://coveralls.io/repos/makinacorpus/django-geojson/badge.png?branch=master
:target: https://coveralls.io/r/makinacorpus/django-geojson
=======
AUTHORS
Version 1.X:
- Daniel Sokolowski, serializer snippet
- ozzmo, python 2.6 compatibility
|makinacom|_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
=======
LICENSE
Lesser GNU Public License
=========
CHANGELOG
4.1.0 (2024-05-13)
- Drop Python 3.7, Django 3.2. Support Python 3.11 and 3.12, Django 4.2 and 5.0. #123
4.0.0 (2022-10-17)
- Drop support for Python < 3.7 / Django < 3.2
- Remove jsonfield dependency in favor of django.db.models.JSONField
WARNING : This can break your migration. jsonfield used to create a text column for your json data when running 'makemigrations'. However, django.db.models.JSONField creates a json column using database-backend specific column types (ie jsonb on postgresql). As such your model field that used to be a text column is now a jsonb column.
3.2.1 (2022-02-21)
- Set default initial value to form field #116
3.2.0 (2021-04-15)
3.1.0 (2020-10-27)
- Drop support for Python 2 and Django < 2.2
- Fix warnings in Django 3.1
- Use explicit srid in get_queryset #106
- Add support for crs_type using the view options #107
3.0.0 (2020-03-02)
- Fix with_modelname option after first iteration
- Drop Django 1.11 support
- jsonfield 3.0 support, drop 2.x support
2.12.0 (2018-12-05)
- Change media type to 'application/geo+json'
- Make with_modelname option available in views
- Drop Django 1.8 support.
- Fixed unnecessary GDAL dependency. (#100, thanks @coredumperror)
2.11.0 (2017-12-05)
- Django 2.0 support.
- Fix setup.py encoding error.
2.10.0 (2017-02-28)
2.9.1 (2016-08-22)
** Bug fixes **
- Remove deprecation warnings with Django 1.8 (#78, thanks @AchilleAsh)
2.9.0 (2016-02-08)
** New features **
- handle natural keys in views (#74, thanks Achille Ash!)
** Bug fixes **
- Add Django 1.9 compatibility (#69, thanks Julien Le Sech!)
- Fix imports in view.py to work without GEOS (#62, thanks Kevin Cooper!)
2.8.1 (2015-06-17)
** Bug fixes**
- Fixed detection of GEOS (thanks Kevin Cooper!)
2.8.0 (2015-04-17)
** New features **
- Support GeoJSON specification for named crs (thanks Alvin Lindstam)
** Bug fixes **
- Add python 3.2 compatibility (thanks Nikolay Korotkiy, fixes #55)
- Fix tests on Django >= 1.7 (thanks Manel Clos)
2.7.0 (2015-02-21)
** New features **
- Add a with_modelname option to serializer
** Bug fixes **
- change 'fields' to 'properties' in code example
- Adds a warning for "Module version, as defined in PEP-0396
2.6.0 (2014-07-21)
** New features **
- Django GeoJSON fields without libgeos installed (thanks Florent Lebreton)
- Properties can be a tuple (fixes #34)
2.5.0 (2014-06-03)
** New features **
- Add vector tiles view
- Improved
geojsonfeature
template tag (fixes #15, #16) - Add various GeoJSON fields, for each geometry type
** Bug fixes **
- Fix (de)serializers not being usable from command-line (fixes #28)
- Fix import attempt for django-leaflet (fixes #27), by Seyi Ogunyemi
- Fix missed SRID after copying a geometry in
_handle_geom
, by Biel Frontera
** Internal changes **
- Specify django-leaflet minimal version for GeoJSON model field
- Got rid of shapely for deserialization
2.4.0 (2014-03-22)
2.3.0 (2014-02-08)
- Python 3 support (thanks @amarandon)
- Add bbox at feature level (thanks @7wonders)
2.2.0 (2013-12-18)
- Deserialization: add ability to specify model name as option (thanks @Vross)
- Deserialization: look-up
ìd
value in properties whe missing at feature level: (thanks @Vross)
2.1.1 (2013-08-21)
- Set default SRID to 4326 in generic GeoJSON views.
2.1.0 (2013-08-19)
- Serialize reversed relations using natural keys (fixes #8)
- Support empty geometries (None or NULL in Db)
- Fix serializing property in upper class
2.0.1 (2013-07-10)
- Fix usage of simplify.
- Expose
force2d
option in view - Allow to have
pk
or id
in properties if explicitly listed
2.0.0 (2013-07-09)
- Complete rewrite using @jeffkistler and @glenrobertson code
- CRS is added to GeoJSON ouput by default
- Ability to build
pk
dynamically by passing a lambda - Ability to provide a
bbox
- Ability to use Django natural keys
- Support of ValuesQuerySet
- Support of ForeignKey and ManyToMany
- Added
force2d
option
** Backwards incompatible changes **
- Geom field is not guessed automatically : Use
geometry_field
option, default is 'geom'
. - no more
pk
in properties : use feature id
, or list pk
in properties explicitly. fields
list in GeoJSONLayer
was renamed properties
.
1.2.0 (2013-05-22)
- Shapely is now optional (used for deserialization only)
- Add Django to requirements
- Skip a step in GeoJSON conversion of geometries (fixes #6)
1.1.0 (2013-03-06)
- Django 1.5 support
- Fix template tag geojsonfeature on empty geometries
1.0.0 (2012-08-03)