我是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)
答案 0 :(得分:2)
模型必须是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错误。