0
이것은 상당히 쉬운 것이어야합니다. 그러나 저는 정말로 자신을 알아 내기 위해 고심하고 있습니다.Django : formset에 빈 폼을 저장하는 것을 막으십시오.
부동산 응용 프로그램을 만들고있어 사용자가 주택 이미지를 업로드 할 수 있어야합니다. 각 이미지는 하우스와 관련이 있으며 각 하우스는 사용자와 관련이 있습니다.
작동 방식은 사용자가 내 양식 세트를 사용하여 빈 양식을 제출하면 존재하지 않는 이미지를 사용자 및 하우스에 등록하기 때문에 모든 것이 손상됩니다. 어떻게 방지 할 수 있습니까?
Heres는 내보기 : 더 잠재적 인 대답처럼 보였다
def photos_formset(request, *args, **kwargs):
pk = kwargs['pk']
ImovelPhotosModelFormset = modelformset_factory(ImovelPhotos, form=ImovelPhotosForm)
formset = ImovelPhotosModelFormset(
request.POST or None, request.FILES or None,
queryset = Imovel.objects.get(pk=pk).imovelphotos_set.all(),
)
if formset.is_valid():
for form in formset:
if not request.FILES:
break
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.imovel = Imovel.objects.get(pk=pk)
obj.save()
return HttpResponseRedirect('/lares/{pk}/'.format(pk=pk))
context = {
"formset": formset,
}
return render(request, "imovel_photos.html", context)
것은이 있었다,하지만 내가 할 경우이 아무 일도 발생하지 작동하지 않았다
if form.is_valid() and not form.empty_permitted: