Множественные родственные инородные тела
class Flow(models.Model):
name = models.CharField(max_length=200)
pre_requisite = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL)
pre_requisite_status = models.ForeignKey("FlowStepStatus",
on_delete=models.SET_NULL,
null=True,
blank=True,
related_name='pre_requisite_status')
Это дает мне одно предварительное условие и его статус (pre_requisite_status). Но я хочу иметь гибкость для нескольких предварительных требований и их соответствующих статусов. Как я могу модифицировать модель, чтобы иметь такую возможность?
Если я правильно понял ваши требования - вы хотите, чтобы Flow имел более одного pre_requisite и pre_requisite_status. В таком случае вам нужно ввести еще одну модель (другими словами таблицу базы данных), которая ссылается на модель Flow как внешний ключ.
class Flow(models.Model):
name = models.CharField(max_length=200)
class PreRequisite(models.Model):
flow = models.ForeignKey(Flow, on_delete=models.CASCADE, related_name='pre_requisites')
pre_requisite = models.ForeignKey(Flow, null=True, on_delete=models.SET_NULL)
pre_requisite_status = models.ForeignKey("FlowStepStatus",
on_delete=models.SET_NULL,
null=True,
blank=True)