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
Post a Comment