Django でモデルを処理する最良の方法は何なのか、興味があります。テレビ番組のリストを扱うアプリを作りたいとしましょう。モデルを処理する 1 つの方法は、
class TVShow(models.Model)
channel = models.CharField()
show_name = models.CharField()
season = models.CharField()
episode = models.CharField()
これは、すべてがきれいに梱包されるという利点があります。ただし、すべてのチャンネルまたはすべての show_names のリストを表示したい場合は、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の推奨方法はありますか? スペース、速度などの点で利点はありますか?
ありがとう!