4
Django Rest Framework에서 알림 응용 프로그램을 만들 수 있습니다. 사용자는 프런트 엔드에서 PATCH API를 사용하여 MARK READ를 MARK READ으로 알릴 수 있습니다. 대량 업데이트 데이터로이 작업을 수행 할 수 있습니까?Django Rest Framework에서 일괄 업데이트 데이터
단지 PATCH에 대해 하나의 알림 개체 아래이 시리얼 라이저와 뷰셋,하지만 난 필드 is_read = False
올바른 방법으로 편집
내 직렬 변환기가 공지로 모두를 수행 할 :
class NotificationEditSerializer(ModelSerializer):
class Meta:
model = Notification
fields = (
'id',
'is_read'
)
을
내 뷰셋 :
from rest_framework.response import Response
class NotificationListAPIView(ReadOnlyModelViewSet):
queryset = Notification.objects.all()
permission_classes = [AllowAny]
serializer_class = NotificationEditSerializer
lookup_field = 'id'
@list_route(methods=['PATCH'])
def read_all(self, request):
qs = Notification.objects.filter(is_read=False)
qs.update(is_read=True)
serializer = self.get_serializer(qs, many=True)
return Response(serializer.data)
내 URL : @Bear 브라운
from rest_framework import routers
router.register(r'notifications/read_all', NotificationListAPIView)
덕분에
는 희망이 도움이!
marking-extra-actions-for-routing로 볼 수 있습니다 :라는 URL 키워드 인수로 호출 될 것으로 예상보기 NotificationEditAPIView을 " 신분증". URL conf를 수정하거나 뷰에'.lookup_field' 속성을 올바르게 설정하십시오. –
아이디없이 이름 = '목록' –
이것은 새로운 URL입니다. url (r '^ read_all/$', NotificationEditAPIView.as_view(), name = 'list'), –