Replace use of dict.has_key with `key in dict`
Merge pull request #1985 from raphaa/21499

Fixed #21499 -- Migrations won't work if field signature changes
Fix squashed migration loading ordering issue
Change initial migration writing to work as docs suggest.

Application template now includes an empty migrations module, and
the autodetector will only make initial migrations for apps with
empty modules.
Add gis deconstruct() method (this does not make schema work)
PostGIS schema editor support
Field.deconstruct() howto docs
Fixed #21438: makemigrations now detects ManyToManyFields
Include deferred SQL in sqlmigrate output
Update tutorial part 1 to discuss migrations properly
Fixed #21169 -- Reworked RelatedManager methods use default filtering

The `remove()` and `clear()` methods of the related managers created by
`ForeignKey`, `GenericForeignKey`, and `ManyToManyField` suffered from a
number of issues. Some operations ran multiple data modifying queries without
wrapping them in a transaction, and some operations didn't respect default
filtering when it was present (i.e. when the default manager on the related
model implemented a custom `get_queryset()`).

Fixing the issues introduced some backward incompatible changes:

- The implementation of `remove()` for `ForeignKey` related managers changed
  from a series of `Model.save()` calls to a single `QuerySet.update()` call.
  The change means that `pre_save` and `post_save` signals aren't called anymore.

- The `remove()` and `clear()` methods for `GenericForeignKey` related
  managers now perform bulk delete so `Model.delete()` isn't called anymore.

- The `remove()` and `clear()` methods for `ManyToManyField` related
  managers perform nested queries when filtering is involved, which may
  or may not be an issue depending on the database and the data itself.

Refs. #3871, #21174.

Thanks Anssi Kääriäinen and Tim Graham for the reviews.
Used simpler queries for m2m clearing when possible.

Refs #21169
Added a bulk option to RelatedManager remove() and clear() methods

Refs #21169
PEP-8 cleanup

Refs #21169
Fixed typo in release notes.
Merge pull request #2000 from loic/docs

Fixed typo in release notes.
Added a warning regarding risks in serving user uploaded media.

Thanks Preston Holmes for the draft text.
A handle of flake8 fixes
Fixed #21515 -- Corrected example of template.Context in documentation.

Thanks to trac user oubiga for the report.
Fixed #21517 -- Added unit test for non-autoincrement primary key with value 0.