У меня есть пара моделей отношений родитель / потомок, таких как:
class Post(models.Model):
title = models.TextField(null=True)
content = models.TextField(null=True)
author = models.TextField(null=True)
created_time = models.DateTimeField(null=True)
class Comment(models.Model):
content = models.TextField(null=True)
created_time = models.DateTimeField(null=True)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
, а сериализаторы похожи:
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
class CommentSerializer(serializers.ModelSerializer):
class Meta:
model = Comment
fields = '__all__'
и, наконец, просмотров:
class PostView(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
class CommentView(viewsets.ModelViewSet):
queryset = Comment.objects.all()
serializer_class = CommentSerializer
Теперь я хочу создать API, который возвращает список Post
с, в котором каждое Post
будет содержать два дополнительных поля, одно из которых будет all_comments
, а другое - latest_comment
.Я понимаю, что это может быть легко сделано в SQL, используя JOIN
s.Я новичок в Джанго.Интересно, есть ли простой способ сделать это в Джанго?Спасибо.