Djnago drf обновить поле, если все пользователи прочитали его
Итак, у меня есть djnago rest framework представления, которые фильтруют latestbooks=True и возвращают последние книги, и если пользователь просматривает книгу, у меня есть другая функция, чтобы удалить книгу из latestbook, делая latestbooks=False, это работает нормально с одним пользователем, теперь у меня есть больше пользователей, если первый прочитал книгу, она будет удалена из latestbook и другие пользователи не смогут ее увидеть. как я могу удалить книгу из latestbook только после того, как все пользователи прочитают ее
views.py
class LatestBokks(ListAPIView):
queryset = Book.objects.filter(latestbooks=True,blacklist=False).order_by('-date')
serializer_class = BookSerial
pagination_class = None
models.py
class Book(models.Model):
title = models.CharField(max_length=255,unique=True)
description = models.TextField(max_length=4000)
alternative_name = models.CharField(max_length=200)
author = models.CharField(max_length=500)
type = models.CharField(max_length=20)
book_slug = models.SlugField(max_length=200)
image_file = models.ImageField(blank=True)
image_url = models.URLField(blank=True)
blacklist = models.BooleanField(default=False)
latestbooks= models.BooleanField(default=False)
date = models.DateTimeField(auto_now_add=True)
duplicated = models.IntegerField(null=True,blank=True)
Для этого вам нужно зарегистрировать, когда пользователь прочитал книгу. Вы можете использовать другую модель для этого, как только пользователь прочитал книгу, вы добавляете запись для данного пользователя и книги, и если после создания этой записи все пользователи, которые у вас есть, имеют запись с этой книгой, то вы можете удалить книгу из latestbook.