Код: Выделить всё
from django.db import models
from django.conf import settings
from django.utils import timezone
class Blog(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return f"{self.title}"
class Comment(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='comments')
blog = models.ForeignKey(Blog, on_delete=models.CASCADE, related_name='comments')
comment = models.TextField()
published_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return f"{self.comment}"
< /code>
Я попробовал Annotate () с помощью
Blog.objects.annotate(avg_comment_length = Avg(Length(comments__comment)))
Подробнее здесь: https://stackoverflow.com/questions/793 ... -each-blog