Na classe Fotografia
definimos o campo descricao
com null=False
e blank=False
. Na hora de criar um registro no banco de dados, não foi informado um valor para esse campo e mesmo assim a informação foi salva no banco de dados. Como?
Na classe Fotografia
definimos o campo descricao
com null=False
e blank=False
. Na hora de criar um registro no banco de dados, não foi informado um valor para esse campo e mesmo assim a informação foi salva no banco de dados. Como?
Olá Fábio! Tudo bem?
Pelo que você descreveu, parece que você criou um objeto Fotografia
sem fornecer um valor para descricao
, mas ele foi salvo no banco de dados sem problemas.
Isso pode ocorrer por alguns motivos. Vamos explorar algumas possibilidades:
Migrations não aplicadas corretamente: Se você fez alterações no seu modelo após criar as migrations e não as aplicou corretamente, o banco de dados pode não estar refletindo essas mudanças. Para garantir que todas as migrations foram aplicadas, execute:
python manage.py makemigrations
python manage.py migrate
Criação do objeto via Django Admin:
Se você estiver criando o objeto via Django Admin, verifique se o campo descricao
está configurado corretamente no formulário de criação/edição.
Criação do objeto via shell:
No exemplo que você forneceu, você criou um objeto Fotografia
sem especificar o campo descricao
:
foto = Fotografia(nome="Nebulosa de Carina", legenda="webbtelescope.org / NASA / James Webb", foto="carina-nebula.png")
foto.save()
Como descricao
não foi fornecido, ele pode estar sendo salvo como uma string vazia. Para evitar isso, você pode definir um valor padrão ou garantir que todos os campos obrigatórios sejam preenchidos ao criar o objeto:
foto = Fotografia(nome="Nebulosa de Carina", legenda="webbtelescope.org / NASA / James Webb", descricao="Uma bela nebulosa", foto="carina-nebula.png")
foto.save()
Verificação no banco de dados:
Verifique diretamente no banco de dados se o campo descricao
está realmente configurado para não aceitar valores nulos. Você pode usar uma ferramenta como SQLite Viewer para inspecionar a estrutura da tabela galeria_fotografia
.
Espero ter ajudado e bons estudos!