annotate gpp/antispam/models.py @ 467:b910cc1460c8

Add the ability to conditionally add model instances to the search index on update. This is not perfect, as some instances should be deleted from the index if they are updated such that they should not be in the index anymore. Will think about and address that later.
author Brian Neal <bgneal@gmail.com>
date Sun, 24 Jul 2011 18:12:20 +0000
parents 8c1832b9d815
children
rev   line source
bgneal@214 1 """Models for the antispam application."""
bgneal@214 2 from django.db import models
bgneal@214 3 from django.core.cache import cache
bgneal@214 4
bgneal@214 5 from antispam import SPAM_PHRASE_KEY
bgneal@214 6
bgneal@214 7
bgneal@214 8 class SpamPhrase(models.Model):
bgneal@214 9 """A SpamPhrase is a string that is checked for in user input. User input
bgneal@214 10 containing a SpamPhrase should be blocked and flagged.
bgneal@214 11 """
bgneal@214 12 phrase = models.CharField(max_length=64)
bgneal@214 13
bgneal@214 14 class Meta:
bgneal@214 15 ordering = ('phrase', )
bgneal@214 16
bgneal@214 17 def __unicode__(self):
bgneal@214 18 return self.phrase
bgneal@214 19
bgneal@214 20 def save(self, *args, **kwargs):
bgneal@214 21 cache.delete(SPAM_PHRASE_KEY)
bgneal@215 22 self.phrase = self.phrase.lower()
bgneal@214 23 super(SpamPhrase, self).save(*args, **kwargs)