3

私はこれを2日間機能させるのに苦労しています。

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

ここに私の save() メソッドがあります

def save(self):
    self.save_without_historical_record()

私は何か重要なものを見逃していますか?このエラーが発生しているため:

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

1 に答える 1

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)

これがあなたにとってもうまくいくことを願っています。

于 2015-08-03T14:26:27.930 に答える