У меня есть 2 модели в моем приложении:
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')
Я использую ModelViewSet в своих представлениях для получения и создания объектов, и он отлично работает.
Моя проблема: я хочу получить все комментарии для определенного объекта блога, поэтому я создал CommentViewSet (который наследуется от 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)
Я могу использовать такой фильтр mysite.com/comment/?blog=X
, чтобы сделать это, но я хочу запретить пользователю запрашивать все комментарии без этого фильтра (mysite.com/comment/
всегда будет возвращать все комментарии, и это плохо...)
Является ли это возможным?
Спасибо!
R