urls template examples bootstrap django django-models django-templates

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 %}