我很好奇在 Django 中处理模型的最佳方法是什么。假设您想制作一个处理电视节目列表的应用程序。处理模型的一种方法是
class TVShow(models.Model)
channel = models.CharField()
show_name = models.CharField()
season = models.CharField()
episode = models.CharField()
其优点是所有东西都被整齐地包装。但是,如果我想显示所有频道或所有节目名称的列表,我将不得不通过 TVSHow 对象并删除重复项
另一方面可以
class CommonModel(models.Model)
name = models.CharField()
class Meta:
Abstract = True
class Channel(CommonModel)
show_name = models.ManyToMany(ShowName)
class ShowName(CommonModel)
seasons = models.ManyToMany(Seasons)
class Season(CommonModel)
episodes = models.ManyToMany(Episodes)
class Episode(CommonModel)
这将使显示所有 ShowNames 或所有 Channels 变得容易,而不必担心不相关的数据。但是,除非您也映射回来,否则很难看到节目是什么频道
是否有“pythonic”或 Django 首选方式来执行此操作?在空间、速度等方面有什么优势吗?
谢谢!