Django - как сделать CloudinaryField необязательным и как позволить пользователю удалить загруженное изображение?

Hej, я только начинаю изучать Django и хочу, чтобы мои пользователи могли загружать фотографию профиля, поэтому я расширил модель User моделью Profile, однако, до сих пор я не понял, как сделать загрузку изображения необязательной. И когда пользователь добавил фотографию, я бы хотел, чтобы он мог ее удалить.

Скриншот - Невозможно отправить без добавления файла

Скриншот - Не удается удалить добавленный файл

models.py

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField()
profile_image = CloudinaryField('profile_image')

def __str__(self):
    return self.user.username

forms.py

class ProfileForm(ModelForm):
class Meta:
    model = Profile
    fields = ('bio', 'profile_image',)

views.py

@login_required(login_url='login')
def createPost(request):
form = PostForm()

if request.method == "POST":
    form = PostForm(request.POST, request.FILES)
    # request.FILES necessary so that file is submitted
    # also required to add enctype to the form
    if form.is_valid():
        post = form.save(commit=False)
        post.author = request.user
        post.save()
        return redirect('home')

context = {'form': form}
return render(request, 'my8gag/post_form.html', context)

Не могу найти ничего об этом в документации или здесь на SO, поэтому буду благодарен за любую помощь/подсказки! Заранее спасибо.

Разрешить полю быть нулевым

class Profile(models.Model):
  user = models.OneToOneField(User, on_delete=models.CASCADE)
  bio = models.TextField()
  profile_image = CloudinaryField('profile_image', null=True, default=None, blank=True)

  def __str__(self):
    return self.user.username
Вернуться на верх