Altessimo/songs/models.py

33 lines
1.3 KiB
Python
Raw Permalink Normal View History

2020-12-15 21:32:20 +00:00
from django.db import models
2020-12-16 08:51:48 +00:00
2020-12-15 21:32:20 +00:00
# Create your models here.
class Song(models.Model):
2020-12-16 17:36:29 +00:00
branch = models.ForeignKey("categories.Branch", on_delete=models.PROTECT)
2020-12-16 19:25:33 +00:00
title = models.CharField(max_length=255)
romanized_title = models.CharField(max_length=255,blank=True)
2020-12-15 21:32:20 +00:00
lyricist = models.ManyToManyField("artists.Artist", blank=True, related_name="written_songs")
composer = models.ManyToManyField("artists.Artist", blank=True, related_name="composed_songs")
arranger = models.ManyToManyField("artists.Artist", blank=True, related_name="arranged_songs")
2021-07-09 18:25:07 +00:00
idols = models.ManyToManyField("idols.Idol",blank=True,related_name="idol_songs")
2020-12-15 21:32:20 +00:00
impression = models.TextField(blank=True)
2020-12-16 08:51:48 +00:00
class Meta:
2020-12-17 08:12:26 +00:00
ordering = [ '-branch__acronym','romanized_title','title' ]
2020-12-16 08:51:48 +00:00
def __str__(self):
return "["+self.branch.acronym+"] "+self.title
2020-12-15 21:32:20 +00:00
class OutsideSong(models.Model):
2020-12-16 17:36:29 +00:00
title = models.CharField(max_length=255)
2020-12-16 08:51:48 +00:00
artist = models.CharField(max_length=255,blank=True)
2020-12-16 17:36:29 +00:00
origin = models.CharField(max_length=255)
url = models.URLField(max_length=255)
2020-12-15 21:32:20 +00:00
composer = models.ForeignKey("artists.Artist", blank=True, on_delete=models.CASCADE)
2020-12-16 08:51:48 +00:00
class Meta:
ordering = [ 'composer','title' ]
def __str__(self):
return "["+self.composer.romanized_name+"] "+self.title