annotate gpp/core/models.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 3fe60148f75c
children
rev   line source
gremmie@1 1 """
bgneal@37 2 This file contains the core Models used in gpp
gremmie@1 3 """
bgneal@239 4 import datetime
bgneal@239 5
bgneal@227 6 from django.db import models
bgneal@239 7 from django.contrib.auth.models import User
gremmie@1 8
bgneal@227 9
bgneal@239 10 class Statistic(models.Model):
bgneal@239 11 """
bgneal@239 12 This model keeps track of site statistics. Currently, the only statistic
bgneal@239 13 is the maximum number of users online. This stat is computed by a mgmt.
bgneal@239 14 command that is run on a cron job to peek at the previous two models.
bgneal@239 15 """
bgneal@239 16 max_users = models.IntegerField()
bgneal@239 17 max_users_date = models.DateTimeField()
bgneal@239 18 max_anon_users = models.IntegerField()
bgneal@239 19 max_anon_users_date = models.DateTimeField()
bgneal@239 20
bgneal@239 21 def __unicode__(self):
bgneal@423 22 return u'%d users on %s' % (self.max_users,
bgneal@239 23 self.max_users_date.strftime('%Y-%m-%d %H:%M:%S'))
bgneal@239 24