Как я могу получить значение lookup_field в Моем обновлении APIView? - PullRequest
0 голосов
/ 04 июня 2018

Как я могу получить значение lookup_field в Моем обновлении APIView?

ниже мой код:

class UserAdminDeleteAPIView(RetrieveUpdateAPIView):
    model = User
    serializer_class = UserAdminSerializer
    permission_classes = []
    lookup_field = "username"

    def get_object(self, queryset=None): 
        username = self.request.data.get('username')  # there I get None
        obj = User.objects.get(username=username)
        return obj

Когда я получаю доступ к API по localhost:8000/api/users/user10/delete, я не могу получить имя пользователя (user10).

Какя могу получить username параметр?

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете получить доступ к kwargs url в представлении на основе классов, используя атрибут self.kwargs:

def get_object(self, queryset=None): 
    username = self.kwargs.get('username')
    obj = User.objects.get(username=username)
    return obj

Примечание. В шаблоне URL следует использовать username в качестве имени аргумента:

url(r'^articles/(?P<username>\w+)/$', UserAdminDeleteAPIView.as_view()),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...