django - Creating a custom method using @link() wihout having to pass in look up field -


i'm trying create api end point returns current screener. screener one-to-one model user. hit end point , have necessary info returned, however, return out passing params. right when using @link() decorator url becomes screener/{look-up-field}/current. not have field in url. viewset:

class screenerviewset(viewsets.modelviewset):     model = screener     serializer_class = screenerserializer     permission_classes = (objectpermissions,)     queryset = screener.objects.all()      @link()     def current(self, request, *args, **kwargs):         screener = get_object_or_404(screener, user__id=request.user.id)         data = self.serializer_class(screener)         return response(data=data.data, status=status.http_200_ok) 

my routes:

router = defaultrouter() router.register(r'api/screener', screenerviewset) urlpatterns += router.urls 

the default drf @link decorator works on detail-level.

for collection-level @link , @action decorators can use drf-extensions, provides these.


Comments

Popular posts from this blog

javascript - How to name a jQuery function to make a browser's back button work? -

python - Django-easy-pdf: xhtml2pdf reporting reportlab 2.2+ is required, but 3.0 installed -

collision detection - C++ library for mesh to mesh intersection: what is available? -