Olá Nelson, tudo bem com você?
Peço desculpas pela demora no retorno.
Conforme descrito na documentação do Django algumas migrações podem não ser detectadas da forma que esperamos, dessa forma, será necessário realizarmos alterações no arquivo de migração criado, de forma que seja informado que queremos criar um novo campo.
Para isso, basta seguir os passos abaixo.
No arquivo receitas/models.py, faça uma alteração no campo foto_receita de forma que o Django possa reconhecer que houve alterações, você pode adicionar o atributo verbose_name=
que recebe o nome legível do campo. Como no exemplo abaixo.
foto_receita = models.ImageField(upload_to='fotos/%d/%m/%Y', blank=True, verbose_name='Foto da Receita')
Após salvar a alteração, devemos gerar a migração, com o comando abaixo.
python manage.py makemigrations
Será criado um novo arquivo para a migração, esse arquivo será criado na pasta receitas/migrations, será o último arquivo criado, abra o arquivo para realizarmos uma alteração na migração.
No atributo operations
, iremos trocar o uso da classe migrations.AlterField
(alterar campo) para a classe migrations.AddField
(adicionar campo). O atributo operations
ficará como apresentado abaixo.
operations = [
migrations.AddField(
model_name='receita_nova',
name='foto_receita',
field=models.ImageField(blank=True, upload_to='fotos/%d/%m/%Y', verbose_name='Fotos da Receita'),
),
]
Lembrando que os tributos model_name=
, name=
correspondem respectivamente à, nome da tabela e nome da coluna esses nomes podem ser diferentes do meu projeto para o seu projeto.
Após realizar a alteração, salve o arquivo e execute no terminal o comando para realizar a migração.
python manage.py migrate
Dentro do pgAdmin 4, clique com o botão direito no nome da tabela de receitas, e no menu de contexto que será aberto, clique em refresh para atualizar a tabela, nesse momento será apresentado a coluna foto_receita
.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!