====================== ``GeoJSON`` Serializer ====================== .. module:: django.contrib.gis.serializers.geojson :synopsis: Serialization of GeoDjango models in the GeoJSON format. GeoDjango provides a specific serializer for the `GeoJSON`__ format. See :doc:`/topics/serialization` for more information on serialization. __ https://geojson.org/ The ``geojson`` serializer is not meant for round-tripping data, as it has no deserializer equivalent. For example, you cannot use :djadmin:`loaddata` to reload the output produced by this serializer. If you plan to reload the outputted data, use the plain :ref:`json serializer ` instead. In addition to the options of the ``json`` serializer, the ``geojson`` serializer accepts the following additional option when it is called by ``serializers.serialize()``: * ``geometry_field``: A string containing the name of a geometry field to use for the ``geometry`` key of the GeoJSON feature. This is only needed when you have a model with more than one geometry field and you don't want to use the first defined geometry field (by default, the first geometry field is picked). * ``id_field``: A string containing the name of a field to use for the ``id`` key of the GeoJSON feature. By default, the primary key of objects is used. * ``srid``: The SRID to use for the ``geometry`` content. Defaults to 4326 (WGS 84). The :ref:`fields ` option can be used to limit fields that will be present in the ``properties`` key, as it works with all other serializers. Example:: from django.core.serializers import serialize from my_app.models import City serialize("geojson", City.objects.all(), geometry_field="point", fields=["name"]) Would output:: { "type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "EPSG:4326"}}, "features": [ { "type": "Feature", "id": 1, "geometry": {"type": "Point", "coordinates": [-87.650175, 41.850385]}, "properties": {"name": "Chicago"}, } ], } When the ``fields`` parameter is not specified, the ``geojson`` serializer adds a ``pk`` key to the ``properties`` dictionary with the primary key of the object as the value. .. versionchanged:: 4.2 The ``id`` key for serialized features was added. Also, the ``id_field`` option was added to the ``geojson`` serializer.