Ich möchte auf meinem Django-Server mit post
, so dass ich einen todo
Artikel hinzufügen kann. Hier ist das Modell:Beitrag zu Django Rest Framework
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
Und Serializer:
class TodoSerializer(serializers.ModelSerializer):
class Meta:
model = Todo
fields = ("id", 'title','text', 'completed', 'created_at')
und Aussicht:
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)
Meine Post-Anforderung ist
{ "title": "new title",
"text": "a test text"}
Und es hat mir gesagt,
IntegrityError at /todos/
(1048, "Column 'title' cannot be null")
Als Neuling in Django verstehe ich diesen Fehler nicht. Irgendwelche Ideen?
Anstatt so zu erstellen, können Sie immer Serializer für das gleiche verwenden. –