clearreadtracker.py 709 B

12345678910111213141516171819202122
  1. from django.core.management.base import BaseCommand
  2. from ....conf.shortcuts import get_dynamic_settings
  3. from ...cutoffdate import get_cutoff_date
  4. from ...models import PostRead
  5. class Command(BaseCommand):
  6. help = "Deletes expired records from readtracker"
  7. def handle(self, *args, **options):
  8. settings = get_dynamic_settings()
  9. queryset = PostRead.objects.filter(last_read_on__lt=get_cutoff_date(settings))
  10. deleted_count = queryset.count()
  11. if deleted_count:
  12. queryset.delete()
  13. message = "\n\nDeleted %s expired entries" % deleted_count
  14. else:
  15. message = "\n\nNo expired entries were found"
  16. self.stdout.write(message)