【问题标题】:How do you Serialize the User model in Django Rest Framework如何在 Django Rest Framework 中序列化用户模型
【发布时间】:2018-11-21 03:40:27
【问题描述】:

我正在尝试熟悉 Django Rest 框架。尝试了一个实验来列出我创建的用户,但序列化程序总是返回空白对象。这是我的代码:

序列化器.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 教程的样板。

我得到的结果是每个用户的空白对象。如果我添加/删除用户,空白的数量会增加和减少,这告诉我我至少部分连接到了用户模型。示例如下:

[{},{},{}]

我期待的是这样的:

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

任何帮助表示赞赏。

【问题讨论】:

  • 我仍然没有看到数据。我有同样的问题。我已经检查并重新检查,一切都按照 DRF 序列化程序准备就绪。 "UserData": {} 在我的邮递员中。

标签: python django django-rest-framework


【解决方案1】:

解决了。是一个错字。在 serializers.py 中,该类应该使用“serializers.ModelSerializer”而不是“serializers.Serializer”。

【讨论】:

    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2016-02-23
    相关资源
    最近更新 更多