from django.db import models from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic from django.contrib.auth.models import User
import datetime class TagItem(models.Model): foreignID = models.IntegerField() description = models.TextField(blank=True) itemType = models.ForeignKey(ContentType) titleWords = models.IntegerField() tag = models.ForeignKey('Tag',related_name='tagItem_tag') content = generic.GenericForeignKey('itemType', 'foreignID') def __str__(self): return ("%s; %s; %s") % (self.tag,self.itemType,self.content.name) class Meta: verbose_name_plural = "Tag Items" class Admin: pass class Tag(models.Model): name = models.CharField(max_length=100) slug = models.SlugField(unique=True,max_length=150) displayCount = models.IntegerField() description = models.TextField(blank=True) def __str__(self): return self.name class Admin: pass class Genre(models.Model): name = models.CharField(max_length=150) slug = models.SlugField(unique=True,max_length=150) tags = generic.GenericRelation(TagItem) def __str__(self): return self.name class Admin: pass class Artist(models.Model): name = models.CharField(max_length=150) slug = models.SlugField(unique=True,max_length=150) tags = generic.GenericRelation(TagItem) def __str__(self): return self.name class Admin: pass class Album(models.Model): name = models.CharField(max_length=150) slug = models.SlugField(unique=True,max_length=150) folderpath = models.TextField() publisher = models.CharField(max_length=100) releasedate = models.CharField(max_length=50) description = models.TextField() rating = models.CharField(max_length=3) keywords = models.CharField(max_length=16) lookupon = models.DateField(null=True,editable=False) modifiedon = models.DateField(editable=False) genre = models.ForeignKey(Genre,related_name='album_genre') tags = generic.GenericRelation(TagItem) def save(self): self.modifiedon = datetime.datetime.today() super(Album, self).save() def __str__(self): return self.name class Admin: pass class AlbumReview(models.Model): Summary = models.CharField(max_length=100) Content = models.TextField() ReviewDate = models.CharField(max_length=50) Rating = models.CharField(max_length=3) album = models.ForeignKey(Album,related_name='review_album') def __str__(self): return self.id class Admin: pass class Song(models.Model): name = models.CharField(max_length=150) slug = models.SlugField(unique=True,max_length=150) bitrate = models.IntegerField() duration = models.IntegerField() size = models.IntegerField() track = models.IntegerField() filepath = models.TextField() artist = models.ForeignKey(Artist,related_name='song_artist') album = models.ForeignKey(Album,related_name='song_album') tags = generic.GenericRelation(TagItem) def __str__(self): return self.name class Admin: pass class Link(models.Model): name = models.CharField(max_length=50) url = models.CharField(max_length=500) requirelogin = models.BooleanField(default=False) requireadmin = models.BooleanField(default=False) def __str__(self): return self.name class Admin: pass class News(models.Model): title = models.CharField(max_length=500) link = models.CharField(max_length=500) published = models.DateTimeField() summary = models.TextField() photo = models.CharField(max_length=250,null=True) caption = models.TextField(null=True) def __str__(self): return self.title class Admin: pass class Download(models.Model): foreignID = models.IntegerField() itemType = models.ForeignKey(ContentType) content = generic.GenericForeignKey('itemType', 'foreignID') user = models.ForeignKey(User) modifiedon = models.DateTimeField() def __str__(self): return 'None' class Admin: pass --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---