【发布时间】:2013-08-04 02:09:32
【问题描述】:
我对 Django 和 Python 还是很陌生。我正在尝试创建一些“依赖于类别”的模型。 我有一个产品模型,我想拥有依赖于类别的属性。示例:
如果我在我的产品类别中选择“永久染料”,我希望为我的用户填写特定属性。
我不想为我要管理的每种产品创建不同的模型。
是否有任何解决方法可以做到这一点并继续使用 django-admin?
提前致谢!
【问题讨论】:
我对 Django 和 Python 还是很陌生。我正在尝试创建一些“依赖于类别”的模型。 我有一个产品模型,我想拥有依赖于类别的属性。示例:
如果我在我的产品类别中选择“永久染料”,我希望为我的用户填写特定属性。
我不想为我要管理的每种产品创建不同的模型。
是否有任何解决方法可以做到这一点并继续使用 django-admin?
提前致谢!
【问题讨论】:
模型继承似乎在这种情况下会有所帮助。使用它,您可以拥有一个抽象的Product 基类,然后使用Meta 添加您需要的不同产品相关特性。它可能需要不同的模型,但您只需要添加您需要的属性,如下所示
class Product(models.Model):
....
class ProductA(Product):
class Meta:
....
这将允许您在 Product 类中拥有通用属性,例如价格等,但使用子类作为区分不同产品的一种方式。 希望在某种程度上有所帮助!
【讨论】: