Счетчик просмотров не увеличивается в базе данных - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь добавить счетчик просмотров к своим сообщениям с помощью выражений F и показать количество просмотров для каждого сообщения в django admin. Но, к сожалению, это не работает должным образом. Я был бы рад, если кто-нибудь скажет мне, что не так в моем коде.

views.py:

class Details(generic.DetailView):
    model = Post
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['essential_posts'] = Post.objects.filter(essential=True).order_by('-created_on')
        return context
    def postviewcount(request, slug):
        post = Post.objects.get(slug=slug)
        post.views = F('views') + 1
        post.save()
    template_name = 'post-detail.html'

models.py:

    STATUS = (
    (0,"Draft"),
    (1,"Publish")
)

class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=200, unique=True)
    author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
    updated_on = models.DateTimeField(auto_now= True)
    content = models.TextField()
    image = models.ImageField(upload_to = 'image/', blank=True)
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)
    essential = models.BooleanField('Essential News', default = False)
    views = models.PositiveIntegerField(default=0)

    class Meta:
        ordering = ['-created_on']


    def __str__(self):
        return self.title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...