首页 > 解决方案 > 返回 django 对象及其相关实例为 json

问题描述

我有一个评论模型和作者 ForeignKey 我想用它的作者个人资料图片在 json 中返回它我尝试使用管理器但是如果它有问题或者它是错误的方法

class CommentManager(models.Manager):
    def get_author_url(self, author):
        return self.get(url = author.pic.url)


class Comment(models.Model):
    post = models.ForeignKey(Post, related_name='comments', on_delete=models.CASCADE, blank=True, null=True)
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    content = models.TextField()
    DatePublished = models.DateTimeField(auto_now_add=True)
    objects = CommentManager()

但我得到的是:

[{"id": 24, "post_id": 146, "author_id": 5, "content": "sb7", "DatePublished": "2021-07-29T06:40:38.752Z"}]

标签: jsondjango

解决方案


在视图中使用序列化器

from django.core import serializers

serializers.serialize('json',Comments.objects.filter(post=post))

推荐阅读