Как загрузить несколько изображений в форму, разделенную на 3 вкладки?

У меня есть форма, разделенная на 3 вкладки, на вкладке 2 и на вкладке 3 нужно загрузить несколько изображений соответственно. Информация, которую я нашел об этом, по большей части мне непонятна, а та, которую я легко увидел, выдает много ошибок, не могли бы вы мне помочь, подсказать, что я делаю не так? Спасибо

models.py


class Carro(models.Model):
    placas=models.CharField(max_length=255)
    marca=models.CharField(max_length=255)
    cliente= models.ForeignKey(Clientes, on_delete=models.SET_NULL, null=True)
    fotosCarro=models.ImageField(null=True, upload_to="images/")
    garantia=models.ImageField(null=True, upload_to="images/")
    fecha_registros = models.DateTimeField(default=datetime.now, null=True)

    def __str__(self):
        return f'{self.placas} {self.marca}{self.cliente}{self.fotosCarro}{self.garantia}' \
               f'{self.fecha_registros}'

forms.py

class CarroForm(forms.ModelForm):
    class Meta:
        model=Carro
        fields = ['placas','marca','cliente','fotosCarro','garantia']
        exclude = ['fecha_registros']
        widgets = {
            'placas': forms.TextInput(
                attrs={

                    'class': 'form-control',

                }
            ),
            
            'marca': forms.TextInput(
                attrs={

                    'class': 'form-control'
                }
            ),
            
            'cliente': forms.Select(
                attrs={
                    'class': 'form-select'
                }
            ),
            'fotosCarro':forms.FileInput(
                attrs={
                    'class': 'type-file',
                    'multiple': True,
                    'id': 'file-input',
                    'onchange':'preview()',
                }
            ),
            'garantia':forms.FileInput(
                attrs={
                    'class': 'type-file',
                    'multiple': True,
                    'id': 'file-inputz',
                    'onchange': 'previewz()',
                    # 'id':'pro-images',
                    # 'click': "$('#pro-images').click()",
                }
            ),
            'fecha_registros': forms.DateInput(
                attrs={
                    'class': 'form-control',
                }
            ),

        }

views.py

def create_carros(request):
    form = CarroForm(request.POST or request.FILES)
    if request.method == 'POST':
        form = CarroForm(request.POST or request.FILES)
        fotosCarro = request.FILES.getlist('fotosCarro')
        garantia = request.FILES.getlist('garantia')
        for img in fotosCarro:
            Carro.objects.create(fotosCarro=fotosCarro)
            Carro.objects.create(garantia=garantia)
    images=Carro.objects.all()
    if form.is_valid():
        form.save()
        return redirect('carros/index.html')
    return render(request, "carros/carros-form-add.html",  {'form': form})


Change

Carro.objects.create(images=image)

to

Carro.objects.create(fotosCarro=image)

Аргумент ключевого слова должен соответствовать полю, которое вы определили в классе Carro.

Обратите внимание, что это исправит немедленную ошибку, но, вероятно, все равно не сделает то, что вы хотите. Кроме того, вы делаете здесь слишком много. Я советую вам почитать больше о формах. Если вы правильно используете формы, вы можете сократить код представления до следующего:

def create_carros(request):
    form = CarroForm(request.POST or request.FILES)
    if request.method == "POST":
        if form.is_valid():
            form.save()

Вам также нужно будет добавить обработку ошибок, когда форма недействительна, и отобразить форму с сообщениями об ошибках.

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