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

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

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