【发布时间】:2010-10-10 02:35:05
【问题描述】:
我想问一下在Django中设计具有虚拟字段的模型时最优雅的方法......
假设我们正在建立一个在线商店,系统中的所有产品都由模型“Product”定义。
class Product(models.Model):
# common fields that all products share
name = ...
brand = ...
price = ...
但是商店会有很多完全不相关的产品类型,所以我需要一些方法来存储不同产品类型的虚拟字段(即 MP3 播放器的容量,一本书的页数,..)。
到目前为止,我可以用我的原始 Django 技能提出的解决方案远非完美:
具有“custom_fields”属性 和中间表,我 手动管理。 (尖叫着难听 我的脸:))
或继承自 “产品”与 Python 的 危险的 exec-eval 语句(这也是 用于维护的许多巫术魔法 并且实施将 需要了解 Django 内部知识)。
您对此有何看法?
TIA。
【问题讨论】:
标签: python django django-models