Migrando do Django 1.10 para o Django 1.11.8

Bora lá então:

Primeiro erro:

Se você está usando uma versão um pouco antiga de django-filter, o erro abaixo pode acontecer:

Django 1.11 compatibility issue – cannot import name flatatt

Para corrigi-lo, basta instalar a ultima versão.

Fonte: https://github.com/carltongibson/django-filter/issues/673

Segundo Erro:

context must be a dict rather than Context.

Basta remover a Classe Context

Ficando assim:

Referencia: https://stackoverflow.com/questions/43787700/django-1-11-typeerror-context-must-be-a-dict-rather-than-context

Terceiro Erro:

Se você está usando django-widget-tweaks e estiver mudando o tipo do campo em um formulário, como no exemplo abaixo:

apenas attr:"type:hidden" não irá funcionar, a explicação para isso está neste link: https://github.com/jazzband/django-widget-tweaks/issues/52

Então para corrigir isso será necessário mudar o tipo do campo no próprio form, dessa forma:

Outras maneiras de mudar o tipo do campo: http://nanvel.name/2014/03/django-change-modelform-widget

Quarto Erro: 

Incompatibilidade de Pickled Objects

1 – Pickled model instance’s Django version 1.10 does not match the current version 1.11.8.
2 - Pickled queryset instance’s Django version 1.10 does not match the current version 1.11.8.

Para corrigir este erro será necessário limpar o seu sistema de cache, seja ele, Redis, Memcached, etc

Fonte: https://docs.djangoproject.com/en/2.0/howto/upgrade-version/#deployment

Quinto Erro:

Se você está usando django-select2, abaixo da versão 5.11.1, o erro build_attrs() takes at most 2 arguments (3 given), pode acontecer:

Para corrigir este erro, atualize o versão para 5.11.1 (obs: a versão 6.0.0 dá suporte apenas para Django 2.0 e Python >= 3.6)

Após esta atualização, o seguinte erro também pode acontecer:

ModelSelect2Widget is missing a QuerySet. Define ModelSelect2Widget.model, ModelSelect2Widget.queryset, or override ModelSelect2Widget.get_queryset().

Para corrigir isso, coloque o parametro model ou queryset no widget, como abaixo:

Sexto Erro:

Não teve sexto erro, aeeeeee, uuuuuuufaa, achei que ia ter mais, por isso comecei a escrever este post, pois quando migramos do Django 1.6 para o Django 1.10, milhões de erros surgiram, para conferir veja este link, http://www.mateuspaduaweb.com.br/atualizando-django-1-6-para-1-9-ou-1-10/.
Que bom que os erros pararam por aqui :)