Как не увеличивать количество просмотров, когда кто-то отправляет более одного GET-запроса

я пытаюсь подсчитать просмотры постов в блоге.

вот мой models.py

class Blog(models.Model):
    author=models.ForeignKey(User,on_delete=models.CASCADE,related_name='post_author')
    blog_title=models.CharField(max_length=264,verbose_name='Put a Title')
    category=models.ForeignKey(Category,on_delete=models.CASCADE,related_name='category',default=None)
    slug= models.SlugField(max_length=264,unique=True,null=True,allow_unicode=True)
    blog_content=models.TextField(verbose_name='what is on your mind?')
    blog_image=models.ImageField(upload_to='blog_images',verbose_name='Image')
    publish_date=models.DateTimeField(auto_now_add=True)
    update_date=models.DateTimeField(auto_now=True)
    view_count=models.IntegerField(null=True,default=0,blank=True)
    class Meta:
        ordering = ('-publish_date',)

вот как я увеличиваю количество просмотров поста для каждого GET-запроса

def blog_details(request, slug):
    blog = Blog.objects.get(slug=slug)
    if request.method == 'GET':
        blog.view_count =blog.view_count+1    
        blog.save()
    *skipping giving the whole(irrelevant to the question) code of the function*

Как увеличить количество просмотров сообщения при первом GET запросе от пользователя (зарегистрированного или анонимного) на 1. Если они пошлют больше get запросов количество просмотров не увеличится. Простите за ошибку и заранее СПАСИБО

Именно для таких случаев и предназначены сессионные переменные. Они будут хранить информацию о посещении в течение определенного периода

if request.method == 'GET':
    #we use .get so it returns None rather than a key error if not set
    visited = request.session.get('visited')
    if not visited:
        blog.view_count =blog.view_count+1    
        blog.save()
        #we've updated the count so we make sure the code doesn't run next time.
        request.session['visited'] = True
        

Документы по переменным сессий - возможно, раздел "Сессии длиной до браузера против постоянных сессий" будет соответствовать вашим интересам

Вернуться на верх