2010-03-23 9 views
6

나는 통계 데이터를 추적하고 수집하고자하는 다양한 모델을 가지고 있습니다.변경 사항 추적 - 장고

문제는 시간이 지남에 따라 변경 사항을 저장하는 방법입니다. 을 열고 그것을 모델이 저장 될 때마다 업데이트하는 텍스트 필드에 로그를 저장

  • :

    나는 여러 다른 생각했다.
  • 목록을 피클 링하여 TextField에 저장하십시오.
  • 로그를 하드 드라이브에 저장하십시오.

제안은 무엇입니까?

답변

6

바퀴를 다시 만들지 마십시오 .. 로깅 변경에 django-reversion을 사용하십시오.

통계를 별도의 모델로 나눌 수 있습니다.

+0

데이터베이스 저널링 과잉처럼 보인다. – msw

+0

@Oli 나는 얼마 전에 이것을 알고 있었으면 좋겠다. 처음부터 위키를 구현해야했다. 이것은 많은 도움이되었을 것입니다. 이 목적을 위해서는 Btw가 너무 부 풀릴 수 있습니다. 어쨌든, 대단히 감사합니다 !! – RadiantHex

1

Quoth 나의 초등학교 화학 교사 : "적어 두지 않으면 일어날 수 없었습니다."따라서 로그에 파일을 저장하십시오.

로그 정보가 응용 프로그램 데이터 (실제로는 메타 데이터)와 분리되어 있으므로 별도로 보관하십시오. 데이터베이스 테이블에 로그 할 수는 있지만 모델과 구별되어야합니다.

텍스트 피클 데이터는 사람이 읽을 수 없으므로 바이너리 피클 데이터는 훨씬 더 읽기가 쉽습니다. 쉽게 파싱 된 형식으로 로그인하면 데이터를 분석 소프트웨어로 쉽게 가져올 수 있습니다.

+0

@msw : 나는 당신이 제안한대로하고있다. 고마워, 파이썬 로깅은 실제로 매우 강력합니다. :) – RadiantHex

1

나는 변화된 역사를 지키기 위해 비슷한 상황을 겪어왔다. 그러나 우리는 변경을 한 사람과 되돌릴 수있는 사람을 추적하기 위해 감사가 필요했습니다. 우리의 접근 방식에서 데이터베이스에 저장하는 것이 더 논리적 인 것처럼 보였습니다. 그러나 통계 데이터를 가지고 있고 gnnna가 클 경우 고려해 볼 때 파일 기반 접근 방식이 개별적으로 더 나을 것입니다.

어쨌든 모델을 변경하지 않고 각 모델을 무작위로 코딩하는 대신 일반적인 메커니즘을 사용해야합니다.

이것 좀 봐 : 내가 제대로 영업을 읽고 있어요 경우 http://www.djangosnippets.org/snippets/1052/

+0

@sharjeel 정말 대단해! 감사! – RadiantHex