Show
Ignore:
Timestamp:
05/28/08 20:22:40 (6 months ago)
Author:
simon
Message:

Implemented tagging.
Switched to arrows for the "Newer | Older" navigation.
Removed special behaviour for logged in users.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • bitstructures/trunk/substructure/models.py

    r6 r74  
    4747            return '/drafts/%s' % (self.slug) 
    4848 
     49    def tags(self): 
     50        entrytags = EntryTag.objects.select_related().filter(entry=self).order_by('number') 
     51        tags = [] 
     52        for entrytag in entrytags: 
     53            tags.append(entrytag.tag) 
     54        return tags 
     55 
    4956    class Admin: 
    5057        fields = ( 
     
    5461        list_display = ('title', 'get_absolute_url', 'date_published') 
    5562        ordering = ['-date_published'] 
     63 
     64class Tag(models.Model): 
     65    name = models.CharField(maxlength=50, blank=False) 
     66 
     67    def __str__(self): 
     68        return self.name 
     69 
     70    def get_absolute_url(self): 
     71        return '/tagged-with/%s' % (self.name) 
     72 
     73    class Admin: 
     74        pass 
     75 
     76class EntryTag(models.Model): 
     77    entry = models.ForeignKey(Entry) 
     78    tag = models.ForeignKey(Tag) 
     79    number = models.IntegerField() 
     80 
     81    class Admin: 
     82        list_display = ('entry', 'tag', 'number') 
     83        ordering = ['entry']