Fix docs multiple nested and multiple methods by woile · Pull Request #5334 · encode/django-rest-framework (original) (raw)
Description
Multiple nested resources with multiple methods were not displayed. Alsodetail_routes
and list_routes
with multiple methods. This PR attempts to fix it.
I created a template tag, that recursively finds the links inside a given section. What do you guys think?
I am not sure if the format I've given to the generated links it's okay, but it's a start.
Issues related:
#5324
#4391
#4965
Results
Default actions
users: {
list()
create()
read(id)
update(id)
}
Single action
Single detail_route url
users: {
list()
create()
read(id)
update(id)
farmers(id) <--
}
More than one detail_route url
users: {
farmers: {
read(id) <--
update(id) <--
}
list()
create()
read(id)
update(id)
}
Nested routes
users: {
animals: {
dogs: {
list(user_id, [page]) <--
create(user_id, email, content, created) <--
}
list(user_id, [page]) <--
create(user_id, email, content, created) <--
}
farmers: {
read(id)
update(id)
}
list()
create()
read(id)
update(id)
}
Multiple resources with nested schema
users: {
animals: {
dogs: {
list(user_id, [page])
create(user_id, email, content, created)
}
list(user_id, [page])
create(user_id, email, content, created)
}
farmers: {
read(id)
update(id)
}
list()
create()
read(id)
update(id)
}
vets: { <--
animals: {
dogs: {
list(user_id, [page])
create(user_id, email, content, created)
}
}
}
Multiple list_route url
users: {
farmers: {
read(id)
update(id)
}
houses: {
read() <--
create() <--
}
list()
create()
read(id)
update(id)
}
Single list_route url (houses)
users: {
farmers: {
read(id)
update(id)
}
list()
create()
houses() <--
read(id)
update(id)
}