2010-05-22 46 views
1

如果有一个表单,来自用户的数据,我们假设一个CV,并且将表单中的数据保存到数据库中,但我不希望从同一个用户不止一次存储在数据库中(当编辑表单实例时)django表单在保存时覆盖数据

我希望每次被同一个用户保存时,它会被覆盖。 我该怎么做?

非常感谢

回答

2

Django的保存()应自动处理这个给你。 - 特别是“user_cv”

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

“实例= user_cv”告诉你要更新现有项目的Django:

举个例子,你通常会在方式是这样的一个提交表单。如果没有'instance = user_cv',Django会在数据库中插入一个新条目。

因此,简而言之,看看user_cv是否已经存在user_cv = UserCV.objects.get(user = user_id)。如果存在user_cv,在填充表单时务必敲入一个instance = user_cv。

+0

非常感谢,我会试试这个(我现在这样做没有instance = user_cv:D) – dana 2010-05-23 10:16:59

+0

dana,只要你的问题之一回答你,请考虑接受它,通过点击它的左边。这就是鼓励人们在计算器上回答问题的原因。 – mawimawi 2010-05-23 13:26:10

+0

:)我点击了!我是新来的,我不知道:)谢谢你告诉我:) – dana 2010-05-23 19:28:39