在視圖和模板中一切正常。當我做了序列化器,然後APIVIEW發生了錯誤的事情。 GET方法可以,但POST不是。當我嘗試添加的食物,我得到IntegrityError這樣的:(但在管理面板和圖形用戶界面,你可以與模型的問題必須與串行器添加的食用正常所以它不是問題)IntegrityError - 列不能爲空DJANGO
IntegrityError在/ food_list_serializer/
列 '大卡' 不能爲空
模型是這樣的:
class Food(models.Model):
name = models.CharField(max_length=124)
kcal = models.FloatField()
proteins = models.FloatField()
carbs = models.FloatField()
fats = models.FloatField()
grams = models.FloatField(default=100, validators=[MinValueValidator(1)])
串行器:
class FoodSerializer(serializers.ModelSerializer):
class Meta:
model = Food
fields = '__all__'
瀏覽次數:
class FoodListSerializer(APIView):
def get(self, request, format=None):
food = Food.objects.all()
serializer = FoodSerializer(food, many=True, context={'request': request})
return Response(serializer.data)
def post(self, request):
food_create = Food.objects.create()
serializer = FoodSerializer(food_create, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
POST request in DJANGO rest framework looks like this
發佈請求是什麼樣的?大卡是否被傳遞? –