django中适用于小部件管理器的模型定义

时间:2016-09-25 20:46:21

标签: python django django-models

我有一个名为widgetManager的模型和两个名为emailWidgetTextWidget的小部件模型。现在,widgetManager的单个实例可以有多个emailWidget和TextWidget实例。如何通过以下方式实现这一目标

  1. 直到现在我只有两个,但将来会有更多
  2. 小部件的顺序非常重要
  3. 我尝试在widgetManager中添加两个多关系,但这似乎不切实际,并不是最好的方法,因为如果第一个条件。

    我想到的是,也许我可以以某种方式创建一个基本的widget类并扩展该类的所有小部件,但我不确定。如果有人能指出我正确的方向,那将会非常有帮助。提前致谢。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的描述,您需要一个关系,其中可以有多个emailWidget或TextWidget用于widgetManager的一个实例。

在这种情况下你可以做的是将widgetManager的ForeignKey字段添加到emailWidget和TextWidget。这样,当它们引用同一个管理器时,您可以拥有许多小部件实例。

当您说要从基类扩展小部件时,我认为您可能会将继承与模型关系混淆。也许我错了?

不确定你的意思是关于小部件的顺序是重要的......