initial models structuring

master
Daniel Martinez 2020-06-08 19:21:18 -04:00
parent a86326db73
commit cffb873298
13 changed files with 137 additions and 5 deletions

Binary file not shown.

View File

@ -75,8 +75,12 @@ WSGI_APPLICATION = 'keymedia.wsgi.application'
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.postgresql',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'NAME': 'keymedia',
'USER': 'keymedia',
'PASSWORD': 'atomiccomic',
'HOST': 'localhost',
'PORT': '5432',
} }
} }

View File

@ -1,3 +0,0 @@
from django.db import models
class

View File

View File

View File

@ -0,0 +1,41 @@
from django.db import models
class MediaTypes(models.Model):
MEDIA_TYPES = [
('vg', 'Video Games'),
('mo', 'Movies'),
('tv', 'TV Shows'),
('bo', 'Books'),
]
media_type = models.CharField(
max_length=2,
choices=MEDIA_TYPES,
default='mo',
)
class CommonMediaFields(models.Model):
name = models.CharField('Title', maxlength=256)
media_type = models.ForeignKey('MediaType')
summary = models.TextField('Summary')
release_date = models.DateField('Release Date')
creation_date = models.DateTimeField('Added Date', auto_now_add=True)
updated_date = models.DateTimeField('Updated Date', auto_now=True)
original_language = models.CharField('Original Language')
class Meta:
abstract = True
class VideoFields(CommonFields):
tmdb_id = models.PositiveIntegerField('TheMovieDB ID')
imdb_id = models.PositiveIntegerField('IMDB ID')
tmdb_rating = models.PositiveIntegerField('TheMovieDB rating', max_value=100)
mc_rating = models.PositiveIntegerFrield('MetaCritic Rating', max_value=100)
class Meta:
abstract = True
class Genres(models.Model):
media = models.ForeignKey('MediaTypes')
genre = models.CharFields('Genre')
class MediaStatus(models.Model):
media = models.ForeignKey('MediaTypes')
status = models.CharFields('Status')

View File

@ -0,0 +1,60 @@
from django.db import models
class MediaTypes(models.Model):
name = models.CharField('Title')
class CommonMediaFields(models.Model):
name = models.CharField('Title', maxlength=256)
summary = models.TextField('Summary')
release_date = models.DateField('Release Date')
creation_date = models.DateTimeField('Added Date', auto_now_add=True)
updated_date = models.DateTimeField('Updated Date', auto_now=True)
original_language = models.CharField('Original Language')
class Meta:
abstract = True
class VideoFields(CommonFields):
tmdb_id = models.PositiveIntegerField('TheMovieDB ID')
imdb_id = models.PositiveIntegerField('IMDB ID')
tmdb_rating = models.PositiveIntegerField('TheMovieDB rating', max_value=100)
mc_rating = models.PositiveIntegerFrield('MetaCritic Rating', max_value=100)
class Meta:
abstract = True
class Genres(models.Model):
media = models.ForeignKey('MediaTypes')
genre = models.CharFields('Genre')
class MediaStatus(models.Model):
media = models.ForeignKey('MediaTypes')
status = models.CharFields('Status')
class Film(VideoFields):
original_title = models.CharField('Original Title', maxlength=256)
tagline = modelx.CharField('Tagline')
runtime = models.PositiveIntegerField('Total Runtime')
cover = models.ImageField('Cover Image')
backdrop = models.ImageField('Backdrop Image')
rt_rating = models.PositiveIntegerField('Rotten Tomatoes Rating', max_value=100)
am_rating = models.DecimalField('AllMovie Rating', max_digits=3, decimal_places=1)
class FilmAltTitles(models.Model):
film = models.ForeignKey('Film', on_delete=models.CASCADE)
title = models.CharField('Title')
country = models.CharField('Country')
type = models.CharField('Type')
class FilmGenres(models.Model):
film = models.ForeignKey('Film', on_delete=models.CASCADE)
genre = models.ForeignKey('Genres', on_delete=models.CASCADE)
class VGames(CommonMediaFields)
tgdb_id = models.PositiveIntegerField('TheGamesDB ID')
platform = models.ForeignKey('Platform')
developer = models.CharField('Developers')
publisher = models.CharField('Publishers')
cover = models.ImageField('Cover Image')
players = models.PositiveIntegerField('Players')
coop = models.BooleanField('Co-Op')

View File

@ -0,0 +1,19 @@
class Film(VideoFields):
original_title = models.CharField('Original Title', maxlength=256)
tagline = modelx.CharField('Tagline')
runtime = models.PositiveIntegerField('Total Runtime')
cover = models.ImageField('Cover Image')
backdrop = models.ImageField('Backdrop Image')
rt_rating = models.PositiveIntegerField('Rotten Tomatoes Rating', max_value=100)
am_rating = models.DecimalField('AllMovie Rating', max_digits=3, decimal_places=1)
class FilmAltTitles(models.Model):
film = models.ForeignKey('Film', on_delete=models.CASCADE)
title = models.CharField('Title')
country = models.CharField('Country')
type = models.CharField('Type')
class FilmGenres(models.Model):
film = models.ForeignKey('Film', on_delete=models.CASCADE)
genre = models.ForeignKey('Genres', on_delete=models.CASCADE)

0
managemedia/models/tv.py Normal file
View File

View File

@ -0,0 +1,9 @@
class VGames(CommonMediaFields)
tgdb_id = models.PositiveIntegerField('TheGamesDB ID')
platform = models.ForeignKey('Platform')
developer = models.CharField('Developers')
publisher = models.CharField('Publishers')
cover = models.ImageField('Cover Image')
players = models.PositiveIntegerField('Players')
coop = models.BooleanField('Co-Op')

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
django-mysql
pillow