Reputation: 302
I want to get current user id to pass
class document_typeViewSet(viewsets.ModelViewSet):
user = User.objects.get(id=request.user.id)
group = user.group.get()
queryset = document_type.objects.filter(role_id=group)
serializer_class = document_typeSerializer
I am getting an error AttributeError: module 'request' has no attribute 'user'
"
Upvotes: 0
Views: 3161
Reputation: 3371
update your code:
class document_typeViewSet(viewsets.ModelViewSet):
def function_name(self, request):
user = User.objects.get(id=request.user.id)
group = user.group.get()
queryset = document_type.objects.filter(role_id=group)
serializer_class = document_typeSerializer
Then you will get request.user.id
.
Upvotes: 1
Reputation: 88429
Assuming you need USER
instance while creation
(new instance creation), So you have to override create()
as below,
class document_typeViewSet(viewsets.ModelViewSet):
queryset = document_type.objects.filter(role_id=group)
serializer_class = document_typeSerializer
def get_user(self, request):
return request.user
def create(self, request, *args, **kwargs):
# create new "document_type" instance
current_user = request.user
# do something with "current_user"
return super().create(request, *args, **kwargs)
Similarly, you can access the logged-in
user whereever in your CBV, if you have a Valid request
object
Upvotes: 0