1
resposta

Erro ao cadastrar nova pessoa

ProgrammingError at /admin/pessoas/pessoa/
relation "pessoas_pessoa" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "pessoas_pessoa"
                                          ^
Request Method:    GET
Request URL:    http://localhost:8000/admin/pessoas/pessoa/
Django Version:    4.0.6
Exception Type:    ProgrammingError
Exception Value:    
relation "pessoas_pessoa" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "pessoas_pessoa"
                                          ^
Exception Location:    C:\Users\Francisco Otacilio\aplicacao\venv\lib\site-packages\django\db\backends\utils.py, line 89, in _execute
Python Executable:    C:\Users\Francisco Otacilio\aplicacao\venv\Scripts\python.exe
Python Version:    3.10.4
Python Path:    
['C:\\Users\\Francisco Otacilio\\aplicacao',
 'C:\\Users\\Francisco '
 'Otacilio\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
 'C:\\Users\\Francisco '
 'Otacilio\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
 'C:\\Users\\Francisco '
 'Otacilio\\AppData\\Local\\Programs\\Python\\Python310\\lib',
 'C:\\Users\\Francisco Otacilio\\AppData\\Local\\Programs\\Python\\Python310',
 'C:\\Users\\Francisco Otacilio\\aplicacao\\venv',
 'C:\\Users\\Francisco Otacilio\\aplicacao\\venv\\lib\\site-packages']
Server time:    Fri, 05 Aug 2022 14:44:31 -0300
1 resposta

Olá Francisco, tudo bem com você?

Peço desculpas pela demora em lhe responder. O erro apresentado pode está ligado a tentativa de cadastro de uma nova pessoa antes que seja realizado a migração para o servidor, assim o servidor não possuirá as tabelas referentes ao aplicativo pessoas, deixo abaixo alguns pontos para realizar uma conferência antes de realizar a criação da migração e a migração em si para o servidor.

  • Primeiramente, confirme se a classe Pessoa foi criado dentro do arquivo model.py do aplicativo pessoas, deve está conforme abaixo.

      from django.db import models
    
      class Pessoa(models.Model):
          nome = models.CharField(max_length=200)
          email = models.CharField(max_length=200)
    
  • A classe Pessoas* deve ser registrada nas no arquivo **admin.py , o arquivo deve estar conforme abaixo.

      from django.contrib import admin
      from .models import Pessoa
    
      class ListandoPessoas(admin.ModelAdmin):
          list_display = ('id', 'nome', 'email')
          list_display_links = ('id', 'nome')
          search_fields = ('nome',)
          list_per_page = 2
    
      admin.site.register(Pessoa, ListandoPessoas)
    
  • E por último, devemos registrar o aplicativo nas configurações, dentro do arquivo alurareceitas/settings.py, a lista INSTALLED_APPS deve ficar como abaixo.

      INSTALLED_APPS = [
          'pessoas',
          'receitas',
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
      ]

Após a confirmação das configurações podemos criar nossa migração para o servidor, com o comando a seguir sendo executado no terminal aberto no ambiente virtual do projeto.

python manage.py makemigrations

E realizarmos a migração.

python manage.py migrate

Após esses passos o painel administrador deverá aceitar o cadastro de novas pessoas. Peço que teste o proposto acima, caso o erro persista encontro-me à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software