Почему привязывается только 1 значение?

Смысл программы в том, чтобы выбрать аналоги из списка и связать их. Я всегда связываю только 1 значение (с самим собой). Как это исправить

Мой view:

def editpart(request, id, **kwargs):

    if request.method == 'POST':
        part.name = request.POST.get("name")
        part.description = request.POST.get("description")

        analogs = Part.objects.all()
        for analogs_zap in analogs:
            zap = analogs_zap.analog
            part.analog.add(part.id)

Мой model:

class Part(models.Model):
    name = models.CharField('Название', max_length=100)
    analog = models.ManyToManyField('self', blank=True, related_name='AnalogParts')

Многие ко многим полям создадут только уникальную привязку к базе данных

eg:

member = Member.objects.get(pk=1)
team = Team.objects.get(pk=1)
team.members.add(member)
team.members
[<Member: Member Name>]
team.members.add(member)
team.members
[<Member: Member Name>]

Не имеют смысла две записи одного и того же участника в команде.

Чтобы решить вашу проблему, замените models.ManytoManyField на models.ForeignKey.

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