在 Django 中设计具有虚拟字段的模型时,我想问一下最优雅的方法......
假设我们正在建立一个在线商店,系统中的所有产品都由模型“产品”定义。
class Product(models.Model):
# common fields that all products share
name = ...
brand = ...
price = ...
但是商店会有很多完全不相关的产品类型,所以我需要一些方法来存储不同产品类型的虚拟字段(即 MP3 播放器的容量,一本书的页数,..)。
到目前为止,我可以用我的原始 Django 技能提出的解决方案远非完美:
拥有我手动管理的“custom_fields”属性和中间表。(在我脸上难看地尖叫:))
或者使用 Python 危险的 exec-eval 语句动态地从“ Product ”继承类(这对于维护来说太巫术了,而且实现需要了解 Django 内部知识)。
你对此有何看法?
TIA。