OpenLayersWidget and OSMWidget load map tiles from NASA and OpenStreetMap,
respectively. When CSP is enabled, appropriate directives must be added to
allow these resources to load.
Renamed existing methods and abstractions used for INSERT … RETURNING
to be generic enough to be used in the context of UPDATEs as well.
This also consolidates SQL compliant implementations on
BaseDatabaseOperations.
This work allows to test three types of postgis Docker images to cover
a wider spectrum of geo libraries versions:
* `latest` (recommended upstream): uses latest stable Debian packages.
These versions are generally conservative, so they may lag behind.
* `alpine`: build PostGIS from source on Alpine, and ship newer
geospatial libs.
* `master`: provides development versions, therefore coverage for what's
coming. Future compatibility issues can be caught in advance.
This split is important because each image differs significantly in
GEOS/PROJ/GDAL versions, so testing all increases confidence in
compatibility. More info at https://hub.docker.com/r/postgis/postgis/.
For example, at the time of this branch:
* latest stable in debian:
* POSTGIS="3.5.2 dea6d0a"
* GEOS="3.9.0-CAPI-1.16.2"
* PROJ="7.2.1"
* latest stable in alpine:
* POSTGIS="3.5.3 0"
* GEOS="3.13.1-CAPI-1.19.2"
* PROJ="9.6.0
* latest development branch:
* POSTGIS="3.6.0dev 3.6.0beta1-29-g7c8cfe07d"
* GEOS="3.14.0beta2-CAPI-1.20.1"
* PROJ="9.7.0"
The `check` docs target now runs spelling, black, and lint, so all
current documentation quality checks can be run with a single command.
Also documented the lint-docs check's availability and usage.
Lines in the docs files were manually adjusted to conform to the
79 columns limit per line (plus newline), improving readability and
consistency across the content.
This adds a `lint.py` script to run sphinx-lint on Django's docs files,
a mathing `lint` target in the `docs/Makefile` and `docs/make.bat`, and
updates `docs/requirements.txt` accordingly.
Determining if a field is db_returning based on the default connection
feature availability prevents the usage of RETURNING for db_default
fields in setups where non-default backends do support RETURNING.
Whether or not the field should be attempted to be returned is already
checked at the compiler level which is backend aware.
When running the `bulk_create` tests with Postgres settings and
`--reverse`, the following IntegrityError was raised in
bulk_create.tests.BulkCreateTransactionTests.test_objs_with_and_without_pk:
django.db.utils.IntegrityError: duplicate key value violates unique
constraint "bulk_create_country_pkey"
DETAIL: Key (id)=(1) already exists.
This branch fixes this by ensuring the ID is unique since DB sequences
are not resetted between tests.