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
-~----------~----~----~----~------~----~------~--~---

Reply via email to