Django で以下のような仮想フィールドを持つモデルを設計する場合、最もエレガントなアプローチについてお聞きしたいと思います...
オンラインストアを構築していて、システム内のすべての製品がモデル「 Product 」によって定義されているとしましょう。
class Product(models.Model):
# common fields that all products share
name = ...
brand = ...
price = ...
しかし、ストアには互いにまったく関係のない多くの製品タイプがあるため、さまざまな製品タイプ (MP3 プレーヤーの容量、本のページ数など) の仮想フィールドを格納する何らかの方法が必要です。
私が Django の生のスキルで思いついた解決策は、これまでのところ完全にはほど遠いものです。
手動で管理する「custom_fields」プロパティと中間テーブルがあります。(私の顔に醜い叫び声を上げます:))
または、Python の危険な exec-eval ステートメントを使用して、その場で " Product "からクラスを継承します(これは、メンテナンスと実装にはあまりにも多くのブードゥー教の魔法であり、Django 内部の知識が必要になります)。
これについてどう思いますか?
ティア。