20130211
========

`django.contrib.contenttypes` and `post_syncdb`
-----------------------------------------------

Continued on :lino:`/tutorials/uiless`.

The trick that disables the `post_syncdb` signal (:lino:`0209`) 
works for 
`django.contrib.auth`
and
`django.contrib.sites`, 
but also has consequences for `django.contrib.contenttypes`.
And `contenttypes` is being used on production data.
So we must be careful.

Summary of tables that need special treatment in :mod:`lino.utils.dumpy`:

- `ContentType` objects don't need to be stored in a dump because they 
  can always be recreated.
- `Site` and `Permission` objects *must* be stored and *must not* be re-created
- `Session` can get lost in a dump and must not be stored.


Furthermore I perceive the `--dumped` command-line option as a 
useless complexification of the usage interface, and I had an idea how I can 
avoid it: we let the post_syncdb handlers do what they want, 
and then simply delete any automatically generated Site and Permission objects 
before restoring our dump.
That's done in :func:`lino.utils.dumpy.install_migrations`.