Ich habe 2 Modelle in meiner App:Django REST Rahmen - zwingt Anfrage erhalten schließen Filter in ModelViewSet
class Comment(models.Model):
content = models.TextField('Content')
blog = models.ForeignKey('Blog', on_delete=models.CASCADE, related_name='comments')
class Blog(models.Model):
content = models.TextField('Content')
ich ModelViewSet in meinen Ansichten, um bin mit Objekten zu erhalten und zu erstellen und es funktioniert gut.
Mein Problem ist: Ich möchte für ein bestimmtes Blog-Objekt alle den Kommentar bekommen, so habe ich eine CommentViewSet (das erbt von ModelViewSet):
class CommentViewSet(viewsets.ModelViewSet):
queryset = Comment.objects.all()
serializer_class = CommentSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
filter_backends = (filters.DjangoFilterBackend,)
filter_class = CommentFilter
def perform_create(self, serializer):
try:
serializer.save(user=self.request.user)
except ValidationError as e:
raise NotAcceptable(e.message)
ich einen Filter wie diese mysite.com/comment/?blog=X
verwenden kann, um um es zu tun, aber ich möchte den Benutzer davon abhalten, alle Kommentare ohne diesen Filter anzufordern (mysite.com/comment/
wird alle Kommentare zurückgeben und es ist schlecht ...)
Ist es möglich?
Danke!
R
Fügen Sie Ihre Ansicht in Frage –
ich die CommentViewSet – Rani