Gostaria de uma sugestão quanto a melhor prática para criação de models.
Estou desenvolvendo um sistema de gerenciamento de repertórios e músicas.
# -*-encoding: utf-8 -*-
from django.db import models
class Location(models.Model):
name = models.CharField(max_length=200)
adress = models.CharField(max_length=500)
def __unicode__(self):
class EventType(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
class Event(models.Model):
location = models.ForeignKey(Location)
eventType = models.ForeignKey(EventType)
name = models.CharField(max_length=200)
startDate = models.DateTimeField('data de início')
endDate = models.DateTimeField('data de término')
#alterar posteriormente para campo de upload.
projectionFile = models.CharField(max_length=200)
def __unicode__(self):
class Author(models.Model):
completeName = models.CharField(max_length=200)
def __unicode__(self):
return self.completeName
class MusicCathegory(models.Model):
eventType = models.ForeignKey(EventType)
name = models.CharField(max_length=200)
def __unicode__(self):
class LiturgicalTime(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
class LiturgicalYear(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
class Music(models.Model):
MUSIC_STATUS = ((0,'Suspended'), (1,'Approved'))
musicStatus = models.SmallIntegerField(choices=MUSIC_STATUS)
author = models.ForeignKey(Author)
musicCathegories = models.ManyToManyField(MusicCathegory)
liturgicalTimes = models.ManyToManyField(LiturgicalTime)
liturgicalYears = models.ManyToManyField(LiturgicalYear)
name = models.CharField(max_length=200)
firstPhrase = models.CharField(max_length=200)
tone = models.CharField(max_length=5)
cipherFile = models.CharField(max_length=200)
scoreFile = models.CharField(max_length=200)
tabsFile = models.CharField(max_length=200)
audioFile = models.CharField(max_length=200)
videoOrAudioURL = models.CharField(max_length=300)
def __unicode__(self):
class Repertory(models.Model):
REPERTORY_STATUS = ((0,'Suspended'), (1,'Approved'))
musics = models.ManyToManyField(Music)
repertoryStatus = models.SmallIntegerField(choices=REPERTORY_STATUS)
event = models.ForeignKey(Event)
name = models.CharField(max_length=200)
def __unicode__(self):
Eu pensei em separar por apps: "event", "repertory" e "music". Mas se eu criar dessa forma, como eu relaciono todas estas models para que uma veja a outra e estabeleça relacionamentos?
Marcos.