Foros del Web » Programando para Internet » Python »

Django Modelo Adecuado

Estas en el tema de Django Modelo Adecuado en el foro de Python en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/07/2013, 15:36
colextey
Invitado
 
Mensajes: n/a
Puntos:
Django Modelo Adecuado

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 original
  1. class Entry(models.Model):
  2.     type_entry = models.CharField(max_length=50, choices=TYPE_ENTRY)
  3.     title = models.CharField(max_length=100)
  4.     original_title = models.CharField(max_length=100, blank=True, null=True)
  5.     slug = models.SlugField(max_length=100)
  6.     content = HTMLField(blank=True)
  7.     genres_a = models.ManyToManyField(GenreA, blank=True, null=Tre)
  8.     genres_b = models.ManyToManyField(GenreB, blank=True, null=Tre)
  9.  
  10. # multiples trailers para una misma película, serie, anime.
  11. class Trailer(models.Model):
  12.     entry = models.ForeignKey(Entry)
  13.     trailer = models.TextField()
  14.     created_at = models.DateTimeField()

Lo otro que se me ocurre es algo así:

Código Python:
Ver original
  1. # Un modelo para juntar todo lo común.
  2. class Entry(models.Model):
  3.     type_entry = models.CharField(max_length=50, choices=TYPE_ENTRY)
  4.     title = models.CharField(max_length=100)
  5.     original_title = models.CharField(max_length=100)
  6.     slug = models.SlugField(max_length=100)
  7.     content = HTMLField(blank=True)
  8.  
  9. class EntryTypePelicula(models.Model):
  10.     entry = models.ForeignKey(Entry)
  11.     genres = models.ManyToManyField(GenreA, blank=True, null=Tre)
  12.  
  13. class EntryTypeSerie(models.Model):
  14.     entry = models.ForeignKey(Entry)
  15.     genres = models.ManyToManyField(GenreA, blank=True, null=Tre)
  16.  
  17. class EntryTypeAnime(models.Model):
  18.     entry = models.ForeignKey(Entry)
  19.     genres = models.ManyToManyField(GenreB, blank=True, null=Tre)
  20.  
  21. # multiples trailers para una misma película, serie, anime.
  22. class Trailer(models.Model):
  23.     entry = models.ForeignKey(Entry)
  24.     trailer = models.TextField()
  25.     created_at = models.DateTimeField()

Que opinan sea la mejor opción, gracias.

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.