Почему не сохраняются изменения при редактировании товара Django?
Форма выдает всплывающее окно в котором можно редактировать товар, выводит строки с данными и при их изменении они не сохраняются, в чем может быть проблема?
models:
class Part(models.Model):
brand = models.CharField('Производитель', max_length=100)
number = models.CharField('Артикул', max_length=100, unique=True)
name = models.CharField('Название', max_length=100)
description = models.TextField('Комментарий', blank=True, max_length=5000)
analog = models.ManyToManyField('self', blank=True, related_name='AnalogParts')
images = models.FileField('Главное изображение', upload_to = 'parts/', blank=True)
images0 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)
images1 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)
images2 = models.FileField('Дополнительное фото', upload_to = 'parts/', blank=True)
def __str__(self):
return str(self.brand + " " + self.number + " " + self.name)
class Meta:
verbose_name = 'Запчасть'
verbose_name_plural = 'Запчасти'
vievs:
def parts(request):
added = ''
error = ''
PartAllView = Part.objects.order_by('-id')
if request.method == 'POST' and 'parts_add' in request.POST:
form = PartForm(request.POST, request.FILES)
if form.is_valid():
form.save()
added = 'Добавлено'
else:
error = 'Данная запчасть уже добавлена'
if request.method == 'POST' and 'parts_edit' in request.POST:
PartPost = int(request.POST['parts_edit'])
PartID = Part.objects.get(id=PartPost)
if PartID:
PartID.save()
added = 'Запчасть успешно отредактирована'
else:
error = 'Ошибка редактирования'
if request.method == 'POST' and 'parts_delete' in request.POST:
PartPost = int(request.POST['parts_delete'])
PartID = Part.objects.get(id=PartPost)
if PartID:
PartID.delete()
added = 'Запчасть успешно удалена'
form = PartForm()
data = {
'added': added,
'error': error,
'form': form,
'PartAllView': PartAllView,
}
return render(request, 'kross/parts.html', data)
HTML:
{% if PartAllView %}
{% for el in PartAllView %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="modal fade" id="partEdit{{ el.id }}">
<div class="modal-dialog modal-dialog-centered text-center" role="document">
<div class="modal-content modal-content-demo">
<div class="modal-header">
<h6 class="modal-title">Добавление запчасти</h6><button aria-label="Close" class="btn-close"
data-bs-dismiss="modal"><span aria-hidden="true">×</span></button>
</div>
<!-- Форма для заполнения -->
<div class="modal-body">
<div class="row row-sm">
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" name="brand" value="{{ el.brand }}">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" value="{{ el.number }}">
</div>
</div>
<div class="col-lg-12">
<div class="form-group">
<input type="text" class="form-control" value="{{ el.name }}"><br>
<input type="textarea" class="form-control" rows="2" value="{{ el.description }}">
</div>
</div>
</div>
{{ el.analog }}
<br>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;">Главное фото</label>
<input type="file" class="form-control" value="{{ el.images }}"><br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;">Дополнительные фото</label>
<input type="file" class="form-control" value="{{ form.images0 }}"><br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;"></label>
<input type="file" class="form-control" value="{{ form.images1 }}"><br>
</div>
<div class="form-group mb-0">
<label for="formFile" class="form-label mt-0" style="float: left;"></label>
<input type="file" class="form-control" value="{{ form.images2 }}"><br>
</div>
</div>
<div class="modal-footer">
<button type="submit" name="parts_edit" value="{{ el.id }}" class="btn btn-primary">Отредактировать</button>
<button class="btn btn-light" data-bs-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>
</form>