Practiqué con relaciones OneToOne y ForeignKey sin problemas pero no se como trabajar los casos ManyToMany ya que no se como consultar
la tercer tabla de unión.
Al grano, tengo un listado de noticias en el cual quiero imprimir todos los tags de cada noticia. Los modelos:
Código Python:
Luego consulto los modelos en la función de vista pasando al template todas las noticias y todos los tags por separado:Ver original
#models.py class Noticia(models.Model): titulo= models.CharField(max_length=30) tags = models.ManyToManyField(Tag) class Tag(models.Model): nombre = models.CharField(max_length=30)
Código Python:
finalmente listo las noticias y dentro de cada una ... todos los tagsVer original
#views.py def inicio(request): noticias = Noticia.objects.all() tags = Tag.objects.all() return render_to_response('inicio.html', {'noticias':noticias, 'tags':tags}, context_instance(request))
inicio.html
Código HTML:
Ver original
{% for noticia in noticias%} {{noticia.titulo}} {% for tag in tags %} {{tag.nombre}} {% endfor %} {% endfor %}
Como cabe esperar se listan todos los tags y no solo los relacionados a cada noticia en particular.
Pues no se como acceder a la tercer tabla de la relación muchos a muchos 'noticia_tags: id, noticia_id, tag_id'
¿Tengo acceso a la tabla de unión o es preferible elaborar la consulta en la función de vista?
Desde ya muchas gracias