2011-11-29 37 views
0

我試圖複製PostgreSQL數據庫中的現有記錄,它似乎是每次我按重複按鈕時以2爲增量複製。如果有1條記錄在數據庫中,一旦按鈕被擊中會造成記錄2和3Django重複數據庫中的現有記錄

型號

class Detail(models.Model): 
    created = models.DateTimeField(auto_now_add=True, blank=False) 
    last_update = models.DateTimeField(auto_now=True) 
    user = models.ForeignKey(User, related_name='+') 
    draft = models.BooleanField() 
    outage_name = models.ForeignKey(Outage, related_name='+') 
    group_name = models.CharField(max_length=100) 
    shift = models.CharField(max_length=6) 
    activity = models.CharField(max_length=100, null = False) 
    culture_title = models.ForeignKey(Culture, related_name='+') 
    work_completed = models.TextField() 
    work_planned = models.TextField() 
    radiation_info = models.TextField() 
    action_item = models.TextField() 
    lesson_learned = models.TextField() 

查看

def turnover_copy(request, id): 
    obj = Detail.objects.get(pk=id) 
    obj.pk = None 
    obj.draft = True 
    if obj.draft: 
     user = request.user.id 
     obj.user_id = user 
     obj.work_planned = 'My Work Planned.' 
     obj.save() 
     return HttpResponse('Created') 
    else: 
    return HttpResponse('Unable to duplicate template.') 

編輯:我有def在模板中的for循環中,所以它保持創建重複!

+2

您確定代碼由於某種原因未被調用兩次嗎?一些打印語句可能會幫助你斷言。 – jro

+0

我有一個def模板,裏面有for循環,DOH!謝謝你指出! – Dunwitch

+0

很好聽,有時候是簡單的事情:)。我從評論中創建了一個答案,以便問題可以存檔。 – jro

回答

1

您確定代碼因某種原因未被調用兩次嗎?一些打印語句可能會幫助你斷言。