Как вы сериализуете модель User в Django Rest Framework - PullRequest
0 голосов
/ 11 июня 2018

Пытаюсь ознакомиться с Django Rest Framework.Пробовал эксперимент, чтобы перечислить пользователей, которых я создал, но сериализатор всегда возвращает пустые объекты.Вот мой код:

serializers.py

from rest_framework import serializers
from django.contrib.auth.models import User


class CurrentUserSerializer(serializers.Serializer):
    class Meta:
        model = User
        fields = ('username', 'email', 'id')

urls.py

from django.urls import include, path
from administration import views
from rest_framework.routers import DefaultRouter


router = DefaultRouter()
router.register(r'admin', views.CurrentUserViewSet)


urlpatterns = [
    path('', include(router.urls)),
]

views.py

from django.shortcuts import render
from django.contrib.auth.models import User
from administration.serializers import CurrentUserSerializer
from rest_framework import viewsets

# Create your views here.

class CurrentUserViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = User.objects.all()
    serializer_class = CurrentUserSerializer

Остальной кодв значительной степени является образцом, основанным на учебнике по DRF.

В результате я получаю пустые объекты для каждого пользователя.Количество пропусков увеличивается и уменьшается, если я добавляю / удаляю пользователя, что говорит мне, что я хотя бы частично подключен к модели User.Пример ниже:

[{},{},{}]

То, что я ожидаю, выглядит примерно так:

[{"username": "jimjones", "email": "jim&jones.com", "id": 0},{...}]

Любая помощь приветствуется.

1 Ответ

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

решаемая.Была опечатка.В serializers.py класс должен использовать «serializers.ModelSerializer», а не «serializers.Serializer».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...