Poste à django de repos cadre

J'aimerais poster sur mon Django serveur à l'aide de post afin que je puisse ajouter un todo élément. Voici le modèle:

class Todo(models.Model):
    title = models.CharField(max_length=200);
    text = models.TextField()
    completed = models.BooleanField(default=False)
    created_at = models.DateTimeField(default=datetime.now, blank = True )
    def __str__(self):
        return self.title

Et sérialiseurs:

class TodoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Todo
        fields = ("id", 'title','text', 'completed', 'created_at')

Et vue:

class TodoList(APIView):
    def get(self,request):
        todo=Todo.objects.all()
        serializer=TodoSerializer(todo,many=True)
        return Response(serializer.data)
    def post(self,request):
        Todo.objects.create(
            title=request.POST.get('title'),
            text=request.POST.get('text'))
        return HttpResponse(status=201)

Ma requête post est

{ "title": "new title",
  "text": "a test text"}

Et il m'a dit

IntegrityError at /todos/
(1048, "Column 'title' cannot be null")

Comme un débutant à Django, je ne comprends pas cette erreur. Des idées?

  • Au lieu de créer comme cela, Vous pouvez toujours utiliser les sérialiseurs pour la même chose.
InformationsquelleAutor Grox Ni | 2017-07-20