Я пытаюсь использовать Django Rest-Framework для создания некоторого JSON, который показывает все сообщения пользователя, но также показывает изображения для этого сообщения. Изображение является внешним ключом для Post. Вот модели:
models.py
class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
status = models.CharField(max_length=200)
class Image(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
img = models.CharField(max_length=120)
views_count = models.IntegerField(default=0)
views.py
class GetPosts(ListAPIView):
serializer_class = PostSerializer
def get_queryset(self):
requested_user = get_requested_user(self)
return Post.objects.filter(user=requested_user).order_by('-created_at')
def get_requested_user(self):
filter_kwargs = {'username': self.kwargs['username']}
return get_object_or_404(User.objects.all(), **filter_kwargs)
serializers.py
class PostSerializer(serializers.ModelSerializer):
image_img = serializers.RelatedField(source='Image', read_only=True)
class Meta:
model = Post
fields = ('status', 'image_img ')
В serializers.py я хотел бы показать все полей для изображения (img, views_count
). Что я получаю с моим текущим кодом, это:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"status": "I am number 1"
}
]
}
Который содержит сообщения пользователя, но не сообщения пользователя и изображения каждого сообщения. Примечание. URL-адрес запроса выглядит следующим образом: / api / posts / user /