Поле изображения в режиме редактирования все еще запрашивает изображение как обязательное поле в форме django - PullRequest
1 голос
/ 18 января 2020

У меня есть простая форма с несколькими полями.

, когда я пытаюсь отредактировать детали формы, ее рендеринг выполняется идеально, но поля pan и aadhar являются обязательными и просят снова загрузить изображение в режиме редактирования.

Если я не хочу обновлять документы, он должен опубликовать данные с предварительной ссылкой.

Но, к несчастью, он просит меня снова загрузить изображение.

Так как я могу переопределить требуемое значение TRue на требуемое значение False с сообщением в форме редактирования?

Не могли бы вы, ребята, предложить мне в чем тут проблема?

Model.py

    class Student(BaseModel):
        mobile = PhoneNumberField()
        aadhar = models.ImageField(upload_to='img/%Y/%m/%d',blank=True, null=True)
        license = models.ImageField(upload_to='img/%Y/%m/%d',blank=True, null=True)
        pan = models.ImageField(upload_to='img/%Y/%m/%d',blank=True, null=True)

form.py

    class AddDetails(forms.Form):

        aadhar = forms.ImageField(label='Upload Aadhar',required=True) 
        license = forms.ImageField(label='Upload License',required=True) 

views.py

    @login_required
    def add_edit(request, city_id=None, id=None):

        city=City.objects.get(pk=city_id)
        if request.method == "POST":
            form = AddDetails(request.POST,request.FILES, request=request)
            if form.is_valid():


                aadhar = request.file['aadhar']
                license = request.file['license']


                if Student.objects.filter(id=id).exists():
                    #updates to db

                    stu = Student.objects.get(pk=id)

                    stu.aadhar = aadhar
                    stu.license = license

                    stu.save()

                    messages.success(request, 'Edits Successful...')
                    return redirect("/student/1")
                else:
                    s = Student( aadhar = aadhar,license=license)
                    s.save()


                    messages.success(request, 'Details added Successfully...')
                    return redirect('/student/1')

        else:
            if Student.objects.filter(id=id).exists():
                stu = Student.objects.get(pk=id)
                form = AddDetails(initial={ 'aadhar': stu.aadhar,'license': stu.license,
                })


        context = {

            'form': form,
            'id': id,
            'city': city,

        }
        return render(request, 'dets/add_stud.html', context=context)
...