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:
views.pyVer original
from 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
Código Python:
Ver original
from 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