У меня есть проект блога, где пользователи могут публиковать, комментировать и лайкать сообщения. При отображении всех сообщений (метод ListCreateView, ie POST & GET) он отображает всех, кому понравился пост, но в методе POST (как указано на прикрепленном изображении) он предоставляет список всех пользователей в качестве вариантов, которые могут понравиться (на прикрепленной фотографии избиратели означают список зарегистрированные пользователи с проектом Blog, для тестовых целей они назвали a, b, c)
Как мне избежать голосования (я имею в виду список людей, которым нравится S Post) из CreateView?
Мои проекты работают нормально, но я хочу избежать раскрытия основных данных.
SERIALIZERS.PY
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = "__all__"
class LikeSerializer(serializers.ModelSerializer):
class Meta:
model = Post
exclude = ("voters",)
MODELS.PY
class Post(models.Model):
...
voters = models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name="votes",blank=True)
VIEWS.PY
class PostListCreateview(generics.ListCreateAPIView):
queryset = Post.objects.all().order_by('id')
serializer_class = PostSerializer
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
def perform_create(self, serializer):
serializer.save(author=self.request.user)