Фильтровать данные пользователя, используя идентификатор пользователя - PullRequest
0 голосов
/ 12 ноября 2018

Когда я передаю идентификатор пользователя из внешнего интерфейса, мне нужно получить все детали пользователя из модели отдыха Django в соответствующее представление.

class UserDetails(viewsets.ModelViewSet):
    def get_queryset(self):
        user_id = self.request.query_params.get('user_id',None)
        //*queryset = UserModel.objects.all()*
        //instead of getting all the objects from UserModel, I need to get the particular user_id object only
        return querysest

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Вам нужно попытаться получить user_id параметр из URL .

А затем попробуйте отфильтровать из queryset на основе полученного user_id.

def get_queryset(self):
    # Get queryset of User Model
    queryset = UserModel.objects.all()

    # Try to fetch the user_id param from url
    user_id = self.request.query_params.get('user_id', None)

    # If user_id param is not None, filter using the obtained user_id
    if user_id is not None:
        queryset = queryset.filter(id=user_id)

    return queryset
0 голосов
/ 12 ноября 2018

Может быть так:

class UserDetails(viewsets.ModelViewSet):
    def get_queryset(self):
        user_id = self.request.query_params.get('user_id')
        if user_id:
           return UserModel.objects.filter(id=user_id).first()
        return UserModel.objects.none()
...