1234567891011121314151617181920212223242526272829 |
- from datetime import timedelta
- from django.core.management.base import BaseCommand
- from django.utils import timezone
- from misago.conf import settings
- from misago.readtracker.models import CategoryRead, ThreadRead
- class Command(BaseCommand):
- help = "Deletes expired records from readtracker"
- def handle(self, *args, **options):
- cutoff = timezone.now() - timedelta(days=settings.MISAGO_READTRACKER_CUTOFF)
- categories = CategoryRead.objects.filter(last_read_on__lte=cutoff)
- threads = ThreadRead.objects.filter(last_read_on__lte=cutoff)
- total_count = categories.count() + threads.count()
- if total_count:
- categories.delete()
- threads.delete()
- message = "\n\nDeleted %s expired entries" % total_count
- else:
- message = "\n\nNo expired entries were found"
- self.stdout.write(message)
|