我正在尝试设计一个框架来帮助实现复杂的 Web 流程。该框架将提供可以由子应用程序继承和实现的抽象类。现在,您可以看到我的抽象类 Action 有一个带 Stage 的外键。因为它有一个外键,所以它不能被抽象化,因为它有自己的表。所以,如果我有 2 个实现应用程序,那么我的第一个应用程序可以看到它自己以及其他应用程序的所有阶段。我可以对查询进行一些调整以避免这种情况。但我想知道是否有解决方案,我的实现 Action 类可以直接指向 Inheriting Stage 类。
parent_app/models.py
class Stage(models.Model):
name = models.CharField(max_length=255)
class Action(models.Model):
stage = models.ForeignKey(Stage)
class Meta:
abstract = True
sub_app1/models.py
class StageImpl1(Stage):
pass
class ActionImpl1(Action):
...
sub_app2/models.py
class StageImpl2(Stage):
pass
class ActionImpl2(Action):
...
更新:
目前的情况是:
ActionImpl1 有一个指向 Stage 的外键
我想要的是:
ActionImpl1 与 StageImpl1 有一个外键