2013-08-29 2 views
3

Я изо всех сил стараюсь сделать эту работу 2 дня.Django Простая история - save_without_historical_record() не работает для меня

Я пытаюсь сделать запись без сохранения исторической записи с Django-Simple-History.

В данном случае. У меня есть модель:

class Artikel(models.Model): 
    treaty = models.ForeignKey(Treaty) 
    parent = models.ForeignKey(Heading, null=True, blank=True) 
    artikel_type = models.CharField(max_length=255, null=False, blank=False, choices=ARTIKEL_TYPE_CHOICES) 
    title = models.CharField(max_length=255, null=True, blank=True) 
    history = HistoricalRecords() 

и вот мой метод сохранения

def save(self): 
    self.save_without_historical_record() 

() Я пропускаю то важное? Потому что я получаю эту ошибку:

AttributeError at /admin/treaties/artikel/329/ 
skip_history_when_saving 

ответ

0

Произошла такая же ошибка, как и вы. Сохраненный метод назывался рекурсивно, поэтому я добавил дополнительное условие к методу сохранения. Теперь мой метод сохранения выглядит так:

def save(self, *args, **kwargs): 
    if not hasattr(self, 'skip_history_when_saving'): 
     return self.save_without_historical_record(*args, **kwargs) 
    return super(Artikel, self).save(*args, **kwargs) 

Надеюсь, что это сработает и для вас.

Смежные вопросы