1
resposta

makemigrations nao reconhece os modelos novos: (RESOLVIDO)

Tive um problema onde ao executar o comando abaixo, o sistema nao reconhecia o model novo

python manage.py makemigrations

Resultado comando acima:

(.venv)~/.../lib_s/django_s$ python manage.py makemigrations
No changes detected
(.venv)~/.../lib_s/django_s$ 

O models foi criado assim:

from django.db import models

class Fotografia (models.Model):
    nome      = models.CharField(max_length=100, null=False, blank=False)
    legenda   = models.CharField(max_length=150, null=False, blank=False)
    descricao = models.TextField(null=False, blank=False)
    foto      = models.CharField(max_length=150, null=False, blank=False)

def __init__ (self):
    return f"Fotografia [nome={self.nome}]"

Como eu tinha certeza que o model era novo, eu forcei o python reconhecer atualizacao apenas do APP (galeria) e funcionou:

(.venv)~/.../lib_s/django_s$ python manage.py makemigrations galeria
Migrations for 'galeria':
  galeria/migrations/0001_initial.py
    - Create model Fotografia
(.venv)~/.../lib_s/django_s$ 

Agora vamos para o motivo:

1 ) No meu caso o settings.py estava correto, ou seja o atributo INSTALLED_APPS continha o valor do nome do meu projeto [ .... 'galeria', ]. Minha sugestao e que voce olhe se realmente esta correto no seu projeto, uma vez que o comando python manage.py makemigrations verifica a estrutura de todos os APPs criados e se nao localiza um dos motivos pode esta ai.

2 ) Outro fator que era o meu caso , como uso o git e estudo em diferentes computadores, geralmente fico tranferindo meu codigo para outros lugares e diferente versoes de sistema operacional, isso gerou "cache" e o django nao reconheceu as alteracoes. apra resolver , apaguei os dados antigos:

rm -rf meu_app/migrations/
python manage.py makemigrations
python manage.py migrate

Espero ter ajudado

Valeu

1 resposta

Oi, Sabino! Tudo bem?

É muito bom saber que você conseguiu resolver o problema, muito obrigada por ter compartilhado a solução! Isso pode ajudar muitas outras pessoas que enfrentarem a mesma dificuldade. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!