Hola chicos, quisiera hacerles una pregunta, tengo un sitio web en donde publico, películas, series y anime.
Actualmente tengo un modelo independiente para Películas, Series y Anime. Tengo una idea clara, pero no se si sea viable, por eso les escribiré el código y ustedes me dicen si esta bien o mal.
Tengo varias preguntas antes: Películas y Series comparten los mismos géneros, pero Anime los géneros son diferentes, y así mismo hay múltiples Fields que el tipo de entrada Películas, Series y Anime no comparten.
Código Python:
Ver originalclass Entry(models.Model):
type_entry = models.CharField(max_length=50, choices=TYPE_ENTRY)
title = models.CharField(max_length=100)
original_title = models.CharField(max_length=100, blank=True, null=True)
slug = models.SlugField(max_length=100)
content = HTMLField(blank=True)
genres_a = models.ManyToManyField(GenreA, blank=True, null=Tre)
genres_b = models.ManyToManyField(GenreB, blank=True, null=Tre)
# multiples trailers para una misma película, serie, anime.
class Trailer(models.Model):
entry = models.ForeignKey(Entry)
trailer = models.TextField()
created_at = models.DateTimeField()
Lo otro que se me ocurre es algo así:
Código Python:
Ver original# Un modelo para juntar todo lo común.
class Entry(models.Model):
type_entry = models.CharField(max_length=50, choices=TYPE_ENTRY)
title = models.CharField(max_length=100)
original_title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
content = HTMLField(blank=True)
class EntryTypePelicula(models.Model):
entry = models.ForeignKey(Entry)
genres = models.ManyToManyField(GenreA, blank=True, null=Tre)
class EntryTypeSerie(models.Model):
entry = models.ForeignKey(Entry)
genres = models.ManyToManyField(GenreA, blank=True, null=Tre)
class EntryTypeAnime(models.Model):
entry = models.ForeignKey(Entry)
genres = models.ManyToManyField(GenreB, blank=True, null=Tre)
# multiples trailers para una misma película, serie, anime.
class Trailer(models.Model):
entry = models.ForeignKey(Entry)
trailer = models.TextField()
created_at = models.DateTimeField()
Que opinan sea la mejor opción, gracias.