У меня есть форма для редактирования товара в которой можно изменять название описание и т.д.
Так же мне надо сделать возможность редактирование связей в этой форме. Для этого у меня есть вот такое поле
В котором можно выбрать товары с которыми необходимо сделать связь
При сохранении результата связанными оказываются все товары независимо от кого какие были выбраны
Пример:
Вот код views.py (как я подозреваю в нем ошибка)
def editpart(request, id, **kwargs):
added = ''
error = ''
PartAllView = Part.objects.order_by('-id')
part = Part.objects.get(id=id)
form = PartForm(request.POST, request.FILES)
if request.method == 'POST':
part.brand = request.POST.get("brand")
part.name = request.POST.get("name")
part.description = request.POST.get("description")
analogs = Part.objects.all()
for analog_zap in analogs:
analog = analog_zap.analog
if Part.objects.filter(analog__in=[analog_zap]).distinct():
part.analog.add(analog_zap.id)
part.save()
added = 'Запчасть успешно отредактирована'
form = PartForm()
data = {
'added': added,
'error': error,
'form': form,
'PartAllView': PartAllView,
'part': part,
}
context_object_name = "part"
return render(request, 'kross/editpart.html', data)
Часть models.py:
class Part(models.Model):
...
analog = models.ManyToManyField('self', blank=True, related_name='AnalogParts')
...