У меня есть две модели как Автор и Комментарий
Один - это Комментарий, и он имеет ForeinKey, указывает на автора (BlogUser)
class Comment(models.Model):
body = models.TextField('body', max_length=500)
created_time = models.DateTimeField('create_time', default=now)
last_mod_time = models.DateTimeField('last_mod_time', default=now)
author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='author', on_delete=models.CASCADE)
article = models.ForeignKey(Article, verbose_name='article', on_delete=models.CASCADE)
parent_comment = models.ForeignKey('self', verbose_name="parent_comment", blank=True, null=True, on_delete=models.CASCADE)
is_approved = models.BooleanField('is_approved', default=True, blank=False, null=False)
is_enabled = models.BooleanField('is_enabled', default=True, blank=False, null=False)
is_deleted = models.BooleanField('is_deleted', default=True, blank=False, null=False)
Автор Модель
class BlogUser(AbstractUser):
qq_number = models.CharField('QQ', max_length=20, default='')
Я пытаюсь получить все комментарии, относящиеся к указанной статье, и отобразить список комментариев в формате имен пользователей и тел комментариев.
В представлении я фильтрую все комментарии по идентификатору статьи, но после сериализации набора запросов фильтра он дает мне только основной идентификатор автора, как я могу получить другие поля автора? Должен ли я написать функцию самостоятельно или есть более простой способ сделать это?
Вид:
def get_comment_list(request, article_id):
if request.GET:
comment_list = models.Comment.objects.filter(article_id = article_id)
data = serializers.serialize('json',comment_list)
return HttpResponse(data, content_type="application/json")
else:
PermissionDenied('Not accept post')