У меня есть пользователи, которые перечислили их учебник. Мне нужно подсчитать объекты в модели учебника и отобразить общее количество в боковом меню.
Вот моя модель
from django.db import models
from django.http import HttpResponse
from django.urls import reverse
from django.contrib.auth.models import User
from django.utils.functional import cached_property
class Textbooks(models.Model):
owner = models.ForeignKey(User, on_delete=models.PROTECT, null=True, blank=True)
title = models.CharField(max_length=1000)
isbn = models.CharField(max_length=20)
author = models.CharField(max_length=250)
edition = models.CharField(max_length=50)
rrp = models.CharField(max_length=30)
about = models.TextField(max_length=1000, null=True)
textbook_image = models.FileField(null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def get_absolute_url(self):
return reverse('textbooks:detail', kwargs={'pk': self.pk})
def __str__(self):
return self.title
Я использовал пользовательский тег шаблона
class CustomTag(template.Node):
def render(self, context):
context['my_custom_tag_context'] = Textbooks.objects.filter(owner=self.user.request).count()
return ''
@register.tag(name='get_custom_tag')
def get_custom_tag(parser, token):
return CustomTag()
введите описание изображения здесь
AttributeError at / 'CustomTag' объект не имеет атрибута 'user'. Кажется, я не могу использовать фильтр в теге шаблона. Есть ли другой способ, которым я могу отфильтровать их и показать счет по владельцу, который вошел в систему?
Вот что я намерен иметь.
введите описание изображения здесь