Отношения ManyToMany с дополнительными полями Django Forms

Для моего проекта Django я пытаюсь создать единственную форму, которая позволяет мне добавить строку в мою модель Pipeline и связать эту строку с моделью Process через модель PipelineProcess. Это довольно просто сделать с помощью ModelForms, если модель PipelineProcess не имеет дополнительного поля (phase).

models.py

class Pipeline(models.Model):
    name = models.CharField(max_length=100)
    sector = models.CharField(max_length=100, blank=True, null=True)
    process = models.ManyToManyField(Process, through='PipelineProcess')

    class Meta:
        managed = True
        db_table = 'pipeline'


class Process(models.Model):

    name = models.CharField(max_length=100)

    class Meta:
        managed = True
        db_table = 'process'


class PipelineProcess(models.Model):
    pipeline = models.ForeignKey(Pipeline, models.DO_NOTHING, blank=True, null=False)
    process = models.ForeignKey(Process, models.DO_NOTHING, blank=True, null=False)
    phase = models.CharField(max_length=100)

    class Meta:
        managed = True
        db_table = 'pipeline_process'

forms.py

class PipelineForm(ModelForm):
    class Meta:
        model = Pipeline
        fields = ['name', 'sector', 'phase']

Эта форма выдает следующую ошибку, которая имеет смысл:

django.core.exceptions.FieldError: Unknown field(s) (phase) specified for Pipeline

Я пробовал искать примеры других людей, но ни один из них мне не пригодился. Большинство из них были слишком сложными для меня, чтобы я мог реализовать их в своем собственном проекте. Я довольно новичок в Django и веб-разработке в целом. Любая помощь будет очень признательна.

попробуйте выполнить следующую настройку:

forms.py

class PipelineForm(ModelForm):
    phase = forms.Charfield()

    class Meta:
        model = Pipeline
        fields = ['name', 'sector']

Мне не нужно было включать "фазу" в список fields, чтобы она работала

Вернуться на верх