Как не заполнять поля формы параметром экземпляра django

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

Модель BlogPost

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    text = models.TextField()
    date_added = models.DateField(auto_now_add=True)

    def __str__(self):
        return self.title[:50]

Форма модели

class BlogPostForm(forms.ModelForm):
    class Meta:
        model = BlogPost
        fields = ["title", "text"]
        labels = {"title": "", "text": ""}

Функция просмотра

def edit_post(request, post_id):
    post = BlogPost.objects.get(id=post_id)
    
    if request.method != "POST":
        form = BlogPostForm(instance=post)
    else:
        form = BlogPostForm(instance=post, data=request.POST)
        if form.is_valid():
            form.save()

Насколько я понял, параметр instance указывает Django, какой объект модифицировать в базе данных с помощью метода form.save().

Но как это сделать без предварительного заполнения формы?

Самое простое решение - установить начальное значение для title и text в пустую строку

def edit_post(request, post_id):
    post = BlogPost.objects.get(id=post_id)
    
    if request.method != "POST":
        form = BlogPostForm(instance=post, initial={'title':'', 'text':''})
    else:
        form = BlogPostForm(instance=post, data=request.POST)
        if form.is_valid():
            form.save()

Форма не должна заполняться сейчас

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