2013-04-16 2 views
0

Django 응용 프로그램에서 데이터 무결성을 확인해야합니다. 즉 누군가가 응용 프로그램 외부에서 레코드의 내용을 변경했는지 감지하려고합니다 (예 : DB에서 수동으로 데이터를 변경하여)).Django : 모델에 체크섬 추가

제 아이디어는 각 모델 인스턴스 (모델의 추가 필드 또는 연결된 "체크섬"모델)에 "체크섬"을 추가하는 것입니다.

  1. 이 좋은 솔루션입니다 :

    그래서, 나는이 개 질문이?

  2. 이 목적으로 django 응용 프로그램을 사용할 준비가 되었습니까?

감사

+1

귀하의 질문은 다소 모호합니다. 데이터를 저장하는 방법, 외부에서 데이터를 변경하는 방법 및 변경시 수행 할 작업에 따라 다릅니다. – Aya

+0

@ dm03514 좋습니다.하지만 누군가가 자신의 데이터를 변경했다는 경고를 받아야합니다 (21CFR11 http://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfCFR/CFRSearch.cfm?CFRPart=에 필요함). 11 & showFR = 1) – Don

+1

많은 데이터베이스 시스템에서는 데이터가 변경 될 때 작업을 수행하는 트리거를 정의 할 수 있습니다. 이것은 아마도 사용자 정의 솔루션보다 훨씬 더 간단 할 것입니다. 그러나 여전히 21CFR11을 준수하기에는 충분하지 않을 수 있습니다. – Aya

답변

1

나는 그것이 좋은 해결책 찾기 (난 아무것도 찾지 못했습니다). Generic Foreign Key으로 Checksum 모델을 만든 다음 post_save 신호에 대한 수신기를 만들어 저장된 개체의 체크섬을 업데이트 할 수 있습니다. 하지만 Django에서 대량 업데이트를 고려하고 모델의 기본값 인 Manager을 변경하여 쿼리 세트에서 원자 업데이트를 수행해야합니다.

나는 프로젝트에서 UUID가있는 모든 모델을 추적하는 것과 유사한 작업을 수행합니다.