Почему в моем API-интерфейсе блога CustomUser возникает ошибка при отправке запроса на получение сведений о CustomUser?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему в моем API-интерфейсе блога CustomUser возникает ошибка при отправке запроса на получение сведений о CustomUser?

Сообщение Anonymous »

У меня есть два API блогов в Django Rest Framework. Один использует модель пользователя Django по умолчанию, а другой — CustomUser. Аутентификация работает хорошо в обоих случаях. У меня есть аналогичные сериализаторы, наборы представлений и маршрутизаторы, настроенные. Конечные точки, возвращающие коллекцию сообщений и пользователей, работают так же хорошо, как и конечные точки для одной публикации. Кроме того, вариант с одним пользователем работает только при использовании модели пользователя Django по умолчанию. Однако когда я пытаюсь получить доступ к одному CustomUser, я получаю эту ошибку:

Код: Выделить всё

AttributeError at /api/v1/users/3/
'CustomUser' object has no attribute 'author'
Request Method: GET
Request URL:    http://127.0.0.1:3412/api/v1/users/3/
Django Version: 5.1.2
Exception Type: AttributeError
Exception Value: 'CustomUser' object has no attribute 'author'
Exception Location: C:\Users\Names\OneDrive\my_apps\django_apps\blog_API\api\permissions.py, line 16, in has_object_permission
Raised during:  api.views.CustomUserViewSet
Исключение возникает в последней строке:

Код: Выделить всё

from rest_framework import permissions

class IsAuthorOrReadOnly(permissions.BasePermission):
"""
Object-level permission to only allow authors of an object to edit it.
Assumes the model instance has an `author` attribute.
"""

def has_object_permission(self, request, view, obj):
if request.method in permissions.SAFE_METHODS:
return True
return obj.author == request.user
Вот мой CustomUserViewset:

Код: Выделить всё

from rest_framework import viewsets

from users.models import CustomUser
from .serializers import CustomUserSerializer
from .permissions import IsAuthorOrReadOnly

class CustomUserViewSet(viewsets.ModelViewSet):
"""Viewset for Custom User Object."""
queryset = CustomUser.objects.all()
serializer_class = CustomUserSerializer
permission_classes = (IsAuthorOrReadOnly,)
Я посмотрел на место ошибки и попробовал отладку печати, чтобы напечатать объект User, и в обоих случаях (модель User по умолчанию и модель CustomUser) ничего не печатается. Но модель пользователя по умолчанию работает хорошо и возвращает сведения об одном пользователе. Я также попытался распечатать свой набор запросов, и он правильно вернул моего CustomUser.
Я хочу получить доступ к одному CustomUser из конечной точки так же, как я могу это сделать с пользователем Dango по умолчанию. Модели My Post и CustomUser правильно сериализованы, и обе коллекции можно увидеть с их конечных точек. PostDetail также работает хорошо. Я был бы рад предоставить дополнительные разъяснения, если это необходимо. Спасибо...

Подробнее здесь: https://stackoverflow.com/questions/791 ... -a-customu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»