Django:AttributeError:类型对象'GroupModel'没有属性'_meta'

时间:2019-06-08 13:40:32

标签: django

我是Django的新手,在我向邮递员提出请求时,我的代码中出现此错误,有人可以帮助我我的代码有什么问题吗?

型号:

from django.db import models

class GroupModel(object):
    title=models.CharField(max_length=20)
    description = models.CharField()

    class Meta:
        db_table = 'group'
    def __str__(self):
        return self

序列化器:

from rest_framework import serializers
from .models import GroupModel

class GroupSerializer(serializers.ModelSerializer):
    print('hello4')
    class Meta:
        model = GroupModel
        fields = '__all__'

观看次数:

from django.shortcuts import render
from django.http import HttpResponse, JsonResponse
from .serializer import GroupSerializer
from .models import GroupModel
from rest_framework.decorators import api_view
from rest_framework import status
@api_view(['POST'])
def InsetGroup(request):
     data = GroupSerializer(data = request.data)

     if request.method == 'POST':
         if data.is_valid():
             data.save()
             return JsonResponse('saved was saccessfull', safe = False)
         return JsonResponse(data.errors, status = status.HTTP_400_BAD_REQUEST, safe = False)

2 个答案:

答案 0 :(得分:2)

Django中的

模型必须是Model class [Django-doc]子类

from django.db import models

class GroupModel(models.Model):
    title=models.CharField(max_length=20)
    description = models.CharField()

        def __str__(self):
            return self.title

    class Meta:
        db_table = 'group'

您的__str__还应该返回str,例如self.title not self,因为那是{{1 }}对象,而不是GroupModel ing。

答案 1 :(得分:1)

提示:为了改进您的代码,您无需检查“ is_valid()”是否为true。如果出现问题,可以使用“ is_valid(raise_exception = True)”自动引发400错误。