Dodawanie kolejnych widoków do routera lub widoku (Django-Rest-Framework)

Zasadniczo próbuję znaleźć dobry sposób na dołączenie większej liczby widoków do routera bez tworzenia niestandardowego routera.Jaki jest dobry sposób, aby to osiągnąć?

Oto coś w rodzaju odpowiednika tego, co próbuję osiągnąć. Zmieniono nazwy zmiennych i przykładowa metoda, którą chcę wprowadzić, jest niezwykle uproszczona ze względu na to pytanie.

Router:

router = routers.SimpleRouter(trailing_slash=False)
router.register(r'myobjects', MyObjectViewSet, base_name='myobjects')
urlpatterns = router.urls

ViewSet

class MyObjectsViewSet(viewsets.ViewSet):
""" Provides API Methods to manage MyObjects. """

def list(self, request):
    """ Returns a list of MyObjects. """
    data = get_list_of_myobjects()
    return Response(data)

def retrieve(self, request, pk):
    """ Returns a single MyObject. """
    data = fetch_my_object(pk)
    return Response(data)

def destroy(self, request, pk):
    """ Deletes a single MyObject. """
    fetch_my_object_and_delete(pk)
            return Response()

Jeden przykład innego typu metody, który muszę uwzględnić. (Jest ich wiele):

def get_locations(self, request):
    """ Returns a list of location objects somehow related to MyObject """
    locations = calculate_something()
    return Response(locations)

Końcowy wynik jest taki, że następujący adres URL działałby poprawnie i byłby implementowany „czysto”.

GET example.com/myobjects/123/locations

questionAnswers(4)

yourAnswerToTheQuestion