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.

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