Frage

Ich habe jetzt schon eine Weile versucht, 'LÖSCHEN' zum Laufen zu bringen, wenn ich eine Sammlung in der Django-API-Ansicht lese.Ich habe 'ListCreateAPIView' verwendet und das bietet nur Handler für Get- und Post-Methoden.Weiß jemand, wie man das behebt?

Meine Ansicht:

class NotepadDetail(generics.ListCreateAPIView):
    model = Session
    serializer_class = SessionSerializer

    def get_queryset(self):
        user=self.request.user
        notepad = self.kwargs['notepad_pk']
        return Session.objects.filter(user=user, notepad=notepad)

    def pre_save(self, obj):
        obj.user = self.request.user
        obj.notepad = get_object_or_404(Notepad, user=self.request.user, pk=self.kwargs['notepad_pk'])
War es hilfreich?

Lösung

löste es durch Hinzufügen:

generasacodicetagpre.

Andere Tipps

Sie können eine verwenden DestroyModelMixin:

class NotepadDetail(generics.DestroyModelMixin,
                    generics.ListCreateAPIView):
    model = Session
    serializer_class = SessionSerializer

    def get_queryset(self):
        user=self.request.user
        notepad = self.kwargs['notepad_pk']
        return Session.objects.filter(user=user, notepad=notepad)

    def pre_save(self, obj):
        obj.user = self.request.user
        obj.notepad = get_object_or_404(Notepad, user=self.request.user, pk=self.kwargs['notepad_pk'])

    def delete(self, request, *args, **kwargs):
        return self.destroy(request, *args, **kwargs)

Der self.destroy methode zur Verfügung gestellt von der DestroyModelMixin behandelt das Löschen von Objekten, hebt die pre_delete und post_delete signalisiert und gibt die 204 NO CONTENT Status.

generasacodicetagpre.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top