0
Hello!
I’m in a learning process of Django, in fact, I started a little while ago and I’m finding it difficult to find a way to display the name of the publisher that is a Foreignkey. Follow the codes below:
My models.py
titulo_livro = models.CharField(
max_length = 45
)
subtitulo_livro = models.CharField(
max_length = 45,
null = True,
blank = True
)
sinopse_livro = models.TextField(
max_length = 1000
)
avaliacao_livro = models.DecimalField(
max_digits = 2,
decimal_places = 2
)
isbn_livro = models.CharField(
max_length = 13
)
publicacao_livro = models.DateField(
auto_now = False,
auto_now_add = False
)
editora_cod_editora = models.ForeignKey(
'Editora',
on_delete = models.CASCADE
)
categoria_cod_categoria = models.ForeignKey(
'Categoria',
on_delete = models.CASCADE
)
class Meta:
db_table = 'Livros'
# CLASSE PARA A CRIAÇÃO DA TABELA DE EDITORAS
class Editora(models.Model):
nome_editora = models.CharField(
max_length = 45
)
class Meta:
db_table = 'editora'
My Forms.py
class LivrosFormulario(forms.ModelForm):
class Meta:
model = Livros
fields = ['titulo_livro','subtitulo_livro','sinopse_livro','avaliacao_livro','isbn_livro','publicacao_livro','editora_cod_editora','categoria_cod_categoria',]
A view.py I’m struggling to understand
def livro(request):
if request.method == 'POST':
form = LivrosFormulario(request.POST or None)
e = Editora.objects.values('nome_editora')
print(form.errors)
if form.is_valid():
print("form é válido")
try:
form.save()
print("form salvo")
return redirect('/mostrar')
except:
print("form não salvo")
pass
else:
print("form não é válido")
else:
form = LivrosFormulario()
return render(request, 'index.html', {'form':form})
And the Template index.html that should display the publisher name, but only the id appears
<form method="POST" class="post-form" action="/livro">
{% csrf_token %}
<!-- forms que estão funcionando não vou colar aqui-->
<div class="form-group row">
<label class="col-sm-2 col-form-label">Editora do Livro:</label>
<div class="col-sm-4">
{{ form.editora_cod_editora }}
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Categoria do Livro:</label>
<div class="col-sm-4">
{{ form.categoria_cod_categoria }}
</div>
</div>
<div class="form-group row">
<label class="col-sm-1 col-form-label"></label>
<div class="col-sm-4">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</div>
</form>
Edit: My page looks like this:
Could you give me some light? I’ve been banging my head on this for a long time kkkkk
For information: I am using the latest stable version of Django and Python
Grateful!