كيف يمكنني حذف مجموعة في Django Rest Api؟
-
20-12-2019 - |
سؤال
لقد كنت أحاول منذ فترة تشغيل "DELETE" عند قراءة مجموعة في Django Api View.لقد كنت أستخدم "ListCreateAPIView" وهذا يوفر فقط معالجات أسلوب الحصول والنشر.هل يعرف اي احد كيفية اصلاح هذا؟
وجهة نظري:
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'])
المحلول
حلها عن طريق إضافة:
giveacodicetagpre.نصائح أخرى
يمكنك استخدام أ 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)
ال self.destroy
الطريقة المقدمة من DestroyModelMixin
سوف يتعامل مع حذف الكائن، وسوف يرفع بشكل صحيح pre_delete
و post_delete
إشارات، وسوف يعود 204 NO CONTENT
حالة.
giveacodicetagpre.
لا تنتمي إلى StackOverflow