Started on (flawed) database models
This commit is contained in:
@@ -1,3 +1,65 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.contrib.postgres.fields import JSONField
|
||||||
|
|
||||||
# Create your models here.
|
class Genre(models.Model):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Genre"
|
||||||
|
verbose_name_plural = "Genres"
|
||||||
|
|
||||||
|
name = models.CharField()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
|
class Artist(models.Model):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Artist"
|
||||||
|
verbose_name_plural = "Artists"
|
||||||
|
|
||||||
|
name = models.CharField()
|
||||||
|
genre = models.OneToOneField(Genre, on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return super(Artist, self).__str__()
|
||||||
|
|
||||||
|
|
||||||
|
class AudioFeatures(models.Model):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "AudioFeatures"
|
||||||
|
verbose_name_plural = "AudioFeatures"
|
||||||
|
|
||||||
|
features = JSONField()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.features
|
||||||
|
|
||||||
|
|
||||||
|
class Year(models.Model):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Year"
|
||||||
|
verbose_name_plural = "Years"
|
||||||
|
|
||||||
|
|
||||||
|
year = models.PositiveSmallIntegerField()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.year
|
||||||
|
|
||||||
|
|
||||||
|
class Track(models.Model):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = "Track"
|
||||||
|
verbose_name_plural = "Tracks"
|
||||||
|
|
||||||
|
popularity = models.DecimalField(decimal_places=2)
|
||||||
|
runtime = models.PositiveSmallIntegerField()
|
||||||
|
name = models.CharField()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|||||||
Reference in New Issue
Block a user