1

如果有一个表单,其中包含来自用户的数据,比如说一个 CV,我将表单中的数据保存到数据库中,但我不希望来自同一用户的 CV 更多地存储在数据库中不止一次(编辑表单实例时)

我希望每次由同一用户保存时都将其覆盖。我该怎么做?

多谢

4

1 回答 1

2

Django 的 save() 应该会自动为您处理这个问题。

举个例子,您通常会以如下方式提交表单:

...
        form = UserCVForm(request.POST, instance=user_cv)
        if form.is_valid():
            form.save()
...

'instance=user_cv' 告诉 django 您要更新现有条目 - 特别是 'user_cv'。如果没有 'instance=user_cv',Django 会在数据库中插入一个新条目。

所以简而言之,看看 user_cv 是否已经存在,比如 user_cv = UserCV.objects.get(user=user_id)。如果存在 user_cv,请确保在填充表单时输入 instance=user_cv。

于 2010-05-23T00:55:28.047 回答