Я пытаюсь обновлять свой экземпляр модели Post каждый раз, когда создается представление PostDetail. До сих пор я пробовал несколько подходов, но ни один из них не работал. Я знаю, что есть готовое решение (django -hitcounter), но я бы хотел написать его сам, чтобы понять, что происходит.
Цель - добавить 1 в post.views каждый раз, когда пользователь Доступ к представлению PostDetail.
models.py
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()
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
views = models.IntegerField(default=0)
class Meta:
ordering = ['-created_on']
views.py
class PostDetail(generic.DetailView):
model = Post
template_name = 'blog/post_detail.html'
urls.py
urlpatterns = [
path('<slug:slug>/', views.PostDetail.as_view(), name='post_detail'),
]