Mercurial > public > sg101
view gpp/forums/management/commands/forum_cleanup.py @ 552:9e42e6618168
For bitbucket issue #2, tweak the admin settings for the Post model to
reduce slow queries. Define our own queryset() method so we can control the
select_related(), and not have it cascade from post to topics to forums to
categories. Removed 'topic' from list_display because MySQL still sucked with
2 inner joins. Now it seems to be tolerable with only one join to User.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 25 Jan 2012 20:07:03 -0600 |
parents | 7e19180b128d |
children |
line wrap: on
line source
""" forum_cleanup.py - A management command to cleanup forum model objects. Right now this entails deleting old forum and topic last visit records. """ import datetime from django.core.management.base import NoArgsCommand, CommandError from forums.models import ForumLastVisit, TopicLastVisit import forums.unread class Command(NoArgsCommand): help = "This command deletes old forum and topic last visit records." def handle_noargs(self, **opts): now = datetime.datetime.now() threshold = now - forums.unread.THRESHOLD * 2 # delete old topic last visit records TopicLastVisit.objects.filter(last_visit__lt=threshold).delete() # delete old forum visit records ForumLastVisit.objects.filter(end_date__lt=threshold).delete()