【问题标题】:DjangoRestFramework Class Serializers missing "Meta" attribute?DjangoRestFramework 类序列化程序缺少“元”属性?
【发布时间】:2015-08-23 02:41:18
【问题描述】:

我想在 django 应用程序中使用 DjangoRestframework 但调用时出错?

打电话时,我会回复我:

Exception Type: AssertionError
Exception Value: Class CrawlerSerializers missing "Meta" attribute

但是我在serializer类中写了元类

请帮帮我

serializers.py 文件:

from rest_framework import serializers
from models import *

class CrawlerSerializers(serializers.ModelSerializer):
    class meta:
        model = Crawler
        fields = ('source','category','template','url')

我的 View.py 文件:

 from rest_framework import status
 from rest_framework.decorators import api_view
 from rest_framework.response import Response
 from models import *
 from serializers import *
 # Create your views here.
 @api_view(['GET','POST'])
 def crawler_list(request):
     '''
     list all task, or create a new task.
     '''
     if request.method == 'GET':
         crawler = Crawler.objects.all()
         serializer = CrawlerSerializers(crawler)
         return Response(serializer.data)
     elif request.method == "POST":
         serializer = CrawlerSerializers(data=request.Data)
         if serializer.is_valid():
             serializer.save()
             return Response(serializer.data,status=status.HTTP_201_CREATED)
         else:
             return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

如何解决?

【问题讨论】:

    标签: django python-2.7 django-rest-framework


    【解决方案1】:

    meta 替换为 Meta

        class Meta:     #instead of meta write Meta (Capital M)
            model = Crawler
            fields = ('source','category','template','url')
    

    【讨论】:

      【解决方案2】:

      meta 不等于 Meta。 Python 区分大小写。

      【讨论】:

        猜你喜欢
        • 2021-12-13
        • 1970-01-01
        • 1970-01-01
        • 2020-10-18
        • 1970-01-01
        • 1970-01-01
        • 2021-06-11
        • 2020-10-15
        相关资源
        最近更新 更多