quarta-feira, 29 de julho de 2015

Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is prohibited;

Para todos que pegarem o erro Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is prohibited, basta fazer uma pequena alteração no ModelForm
para resolver.

Altere seu forms.py de:

class BlocoForm(forms.ModelForm):

 class Meta:
  model = Bloco

 def dados(self):
  return {'form':self.cleaned_data, 'data':datetime.now()}


Para:

class BlocoForm(forms.ModelForm):

 class Meta:
  model = Bloco
  fields = '__all__'

 def dados(self):
  return {'form':self.cleaned_data, 'data':datetime.now()}


hasta!

Calling modelformset_factory without defining 'fields' or 'exclude' explicitly is prohibited.

Para todos que pegarem o erro Calling modelformset_factory without defining 'fields' or 'exclude' explicitly is prohibited, basta fazer uma pequena alteração no inlineformset_factory
para resolver.

Altere seu forms.py de:

FotoFormSet = inlineformset_factory(Bloco, Foto, extra=1)


Para:

FotoFormSet = inlineformset_factory(Bloco, Foto, fields='__all__', extra=1)


hasta!

terça-feira, 21 de julho de 2015

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

Precisa escrever um script em python e fazer uso do Django para automatizar algo pela cron?

Na versão atual do django, quando fazemos isso igual nas versões mais antigas, tipo 1.4 até 1.6, recebmos o erro:

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.


Para resolver isso, deixe seu script python como a seguir:

#!/usr/bin/env python
# coding: utf-8

from os.path import abspath, dirname

SETTINGS_DIRECTORY = dirname(dirname(abspath(__file__)))

sys.path.insert(0, SETTINGS_DIRECTORY)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django
django.setup()


def sincorniza_busca():
 from django.template.defaultfilters import striptags

 # importe seus models aqui
 from sua_app.models import SeuModel

 # faça o que tiver que fazer aqui



if __name__ == '__main__':
 sua_funcao()



hasta!