2010-05-22 49 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