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.
1 |
$ pip install -U django-filter |
Fonte: https://github.com/carltongibson/django-filter/issues/673
Segundo Erro:
context must be a dict rather than Context.
Basta remover a Classe Context
1 2 3 4 5 6 7 |
t = loader.get_template('path/template.html') c = Context({ 'name': 'Mateus', 'phone': '999999999', 'request': context['request'], }) rendered = t.render(c) |
Ficando assim:
1 2 3 4 5 6 7 |
t = loader.get_template('path/template.html') c = { 'name': 'Mateus', 'phone': '999999999', 'request': context['request'], } rendered = t.render(c) |
Terceiro Erro:
Se você está usando django-widget-tweaks e estiver mudando o tipo do campo em um formulário, como no exemplo abaixo:
1 |
{{ form.meu_campo|add_class:"address-input"|attr:"type:hidden"|attr:"readonly" }} |
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:
1 2 3 4 5 6 7 8 9 10 |
from django import forms from .models import MyModel class MyForm(forms.ModelForm): class Meta: model = MyModel widgets = { 'meu_campo': forms.TextInput(attrs={'type': 'hidden'}), } |
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)
1 |
$ pip install django_select2==5.11.1 |
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:
1 2 3 4 5 6 7 8 9 |
class AddressForm(forms.Form): country = forms.ModelChoiceField( queryset=Country.objects.all(), label=u"Country", widget=ModelSelect2Widget( model=Country, # este parametro, queryset também é válido. search_fields=['name__icontains'], ) ) |
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