Django дублирует существующую запись в базе данных - PullRequest
0 голосов
/ 29 ноября 2011

Я пытаюсь продублировать существующую запись в БД PostgreSQL, похоже, она дублируется с шагом 2 каждый раз, когда я нажимаю кнопку дублирования. Если в базе данных есть 1 запись, то после нажатия кнопки будут созданы записи 2 и 3.

Модель

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()

View

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 в шаблоне, поэтому он продолжал создавать дубликаты!

1 Ответ

1 голос
/ 29 ноября 2011

Вы уверены, что код почему-то не вызывается дважды?Некоторые утверждения для печати могут помочь вам утверждать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...