Hola buenos dias
Soy novato en esto del Django y para practicar tengo una base de datos de libros autores y editoriales para practicar, como la del ejemplo del djangobook
El problema que tengo es que al mostrar la información del libro el autor del libro no se me muestra porque no puedo acceder a la información, ya que la relacion entre el libro y el autor es manyTomany.
Aqui os dejo el modelo, la vista y la plantilla para que podeis indicarme donde esta el fallo, ja que he buscado por internet y en otros foros y no he podido encontrar una solución
model.py
Código Python:
Ver originalfrom django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length = 50)
website = models.URLField(blank=True)
def __unicode__(self):
return self.name
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField(blank=True)
def __unicode__(self):
return self.first_name
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(blank=True, null=True)
def __unicode__(self):
return self.title
views.py
Código Python:
Ver originalfrom django.shortcuts import render_to_response
from web.books.models import *
# Create your views here.
def index(request):
return render_to_response('index.html')
def llibres(request):
return render_to_response('llibres.html')
def autors(request):
return render_to_response('autors.html')
def editorials(request):
return render_to_response('editorials.html')
def tots_llibres(request):
books = Book.objects.all()
return render_to_response('tots_llibres.html',{'books' : books})
tots_llibres.html
Código Python:
Ver original{% extends "base.html" %}
{% block content %}
<p>
La base de dades conte {{ books|length }} llibre{{ books|pluralize }}.
</p>
<table>
<tr>
<td>
Titol
</td>
<td>
Autor
</td>
<td>
Editorial
</td>
<td>
Data de Publicacio
</td>
</tr>
{% if books %}
{% for book in books %}
<tr>
<td>
{{ book.title }}
</td>
<td>
{{ book.author.first_name }}
</td>
<td>
{{ book.publisher.name }}
</td>
<td>
{{ book.publication_date }}
</tr>
{% endfor %}
{% endif %}
</table>
<p>
<a href="/llibres/">Tornar Enrere</a>
</p>
{% endblock %}
Gracias de antemano por la ayuda que podais aportar