http://docs.djangoproject.com/en/dev/topics/db/models/#model-inheritance을 사용하여 원본 테이블의 모든 레코드에 대한 모든 변경 사항의 전체 기록을 작성하기 위해 기존 모델을 서브 클래스 화하려고합니다. Django Model 클래스 상속을 사용하여 테이블에 대한 감사 로그를 생성하십시오.
class Foo: data = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def save(): super(...) audit = FooAuditLog.createFromFoo(self) class FooAuditLog(Foo): history_for = models.ForeignKey(Foo) def createFromFoo(foo): ... #Create the auditlog entry from the original record.그래서 내가 만들거나 유형 "푸"레코드를 업데이트 할 때마다, 나는 푸 기록의 스냅 샷을하고 FooAuditLog에 다른 항목을 추가 할 수 있습니다. 필자의 목표는 모든 Foo 레코드에 대한 완전한 개정 내역을 보유하여 시간 경과에 따라 각 레코드에 대한 모든 변경 사항을 추적 할 수 있도록하는 것입니다.
이 접근 방식의 함정은 무엇입니까? Foo와 ForeignKey 관계가있는 경우, Foo와 FooAuditLog 사이의 계단식 삭제/업데이트에 대해 걱정해야합니까?
결국 무엇을 했습니까? 나는 지금 비슷한 해결책을 찾고있다. 감사! –