template - Django-Acceso a_set desde la página de cambio de administrador
django urls (2)
Tomemos el ejemplo estándar
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author)
#... Many other fields ...
De la plantilla de cambio de administrador de Author
tratando de acceder a los libros relacionados
<ul>
{% for book in original.book_set.all %}
<li>
<a href="{% url admin:myapp_manager_change book.id %}">Edit {{ book }}</a>
</li>
{% endfor %}
</ul>
yo obtengo
Caught NoReverseMatch while rendering: Inversa para ''myapp_manager_change'' con argumentos ''(1L,)'' y argumentos de palabra clave ''{}'' no encontrados.
Por qué ?
¿Y cómo puedo acceder a este book_set
?
Verifique los documentos sobre la reversión de las direcciones de administrador .
Debes reemplazar "myapp" con tu aplicación real:
admin:{{ app_label }}_{{ model_name }}_change object_id
Entonces, si su aplicación se llama biblioteca y el nombre de su modelo es libro, el enlace sería:
<a href="{% url admin:library_book_change book.id %}">Edit {{ book }}</a>
book_set en realidad funciona bien en su ejemplo porque la excepción se genera desde dentro del ciclo for
. Parece que el problema es con el nombre de la vista.
Prueba esto:
{% url admin:myapp_book_change book.id %}