1
我有一個小問題。我試圖檢查狀態的值是否已經存在,並確保我不創建它的另一個實例,但我遇到了一些麻煩。防爆。如果項目狀態曾經是「Quote」,我不希望能夠再次顯示狀態「Quote」。現在,我檢查以確定用戶是否選擇編輯,然後單擊提交,狀態不會重複。但是,如果用戶選擇了另一個狀態,如「已完成」,則無法阻止他們再次返回並再次選擇「報價」。檢查重複項目
models.py
class Status(models.Model):
project = models.ForeignKey(Project, related_name='status')
value = models.CharField(max_length=20, choices=STATUS_CHOICES, verbose_name='Status')
date_created= models.DateTimeField(auto_now=True)
class Project(models.Model):
...
views.py
if form.is_valid():
project = form.save(commit=False)
project.created_by = request.user
project.save()
old_status = project.current_status()
if not old_status or old_status.value != form.cleaned_data.get('status', None):
#add status instance
project.status.create(
value = form.cleaned_data.get('status', None)
)
return HttpResponseRedirect('/project/')
任何幫助,或者指着我在正確的方向,將不勝感激。
謝謝大家!
太棒了!那是我錯過的小事。還有一個問題,我該如何處理這個錯誤?現在我只是得到Django的錯誤頁面?再次感謝...我仍然在學習 – TheLifeOfSteve 2010-10-21 14:25:10
使用嘗試/除非您嘗試「保存」。 – user470379 2010-10-21 14:27:45
非常感謝! – TheLifeOfSteve 2010-10-21 14:32:38