2011-11-29 5 views
0

PostgreSQL DB에서 기존 레코드를 복제하려고하는데 중복 버튼을 누를 때마다 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.') 

편집을 만들 것입니다 : 내가 가진 템플릿 내부의 for 루프 내부에서 def를 사용했기 때문에 중복을 계속 만들었습니다!

+2

코드가 어떤 이유로 두 번 호출되지 않았습니까? 일부 인쇄문은 당신이 그것을 주장하는 데 도움이 될 수 있습니다. – jro

+0

for 루프 내부에 def가있는 템플릿이 있습니다. 그 점을 지적 해 주셔서 감사합니다! – Dunwitch

+0

잘 듣고, 때로는 쉬운 일입니다 :). 나는 질문을 보관할 수 있도록 주석에서 답변을 만들었습니다. – jro

답변

1

어떤 이유로 코드가 두 번 호출되지 않습니까? 일부 인쇄문은 당신이 그것을 주장하는 데 도움이 될 수 있습니다.

관련 문제