주어진 모델의 모든 레코드를 생성하고 업데이트하는 사용자를 추적하고 싶습니다. 로그인 한 사용자의 UserProfile에 "사용자"정보가 있습니다 (모든 사용자는이 레코드를 업데이트하기 위해 로그인해야합니다).Django 모델 감사 내역을 구현하는 방법은 무엇입니까? save() 메소드 모델에서 로그인 한 사용자에게 어떻게 접근합니까?
답변
django-reversion을 찾고있는 것처럼 들리 겠지만 변경 사항에 대한 일부 메타 데이터 (예 : 누가 만든 사람)를 포함하여 특정 모델의 모든 변경 사항을 추적 할 수 있습니다.
Django-revision은 진화 된 모델의 상태를 추적하는 데 더 중요하며 마지막 사용자가 레코드를 수정하는 것을 추적하는 데 도움이되지 않습니다. – MikeN
예 - http://code.google.com/p/django-reversion/wiki/LowLevelAPI –
장고 모델은 (목적 상) request
개체에 대한 액세스 권한이 없습니다. 뷰에서 모델에 전달해야합니다.
왜 의도적으로? 현재 모델에서 현재 사용자 객체에 액세스해야한다고 생각하는 경우가 있습니다. – ultrajohn
(장고 문서에서) 당신의 관리자 클래스에서 save_model
방법 오버라이드 (override) 할 것, 관리자의 모든 변경에 대해 자동으로 사용자 필드를 설정하는 가장 빠른 방법 : 그렇지 않으면
class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()
을 수행 할 수 있습니다 Dominic Rodger가 언급 한 django-revision과 같은 것을 사용하십시오.
의 '버전 메타 데이터'섹션을 참조하십시오. 이는 관리자 만 사용할 수 있습니다. – MikeN
- 1. Django - 모델 save() 메소드가 게으르다?
- 2. 데이터베이스 (감사 내역)에서 수정 내역을 자세히 기록하는 방법은 무엇입니까?
- 3. 컨트롤러 외부에서 로그인 한 사용자에게 어떻게 액세스합니까?
- 4. iBATIS를 사용하여 감사 인터셉터를 구현하는 방법은 무엇입니까?
- 5. Django, 로그인 한 사용자에게 특정 미디어 디렉토리 표시
- 6. cakePHP의 save() 메소드
- 7. C# 여러 번 검사를 수행하는 Save 메서드를 구현하는 방법은 무엇입니까?
- 8. Django 모델 한 쌍
- 9. Django 모델 업데이트 신호를 어떻게 작성합니까?
- 10. django 모델에서 마지막으로 저장 한 이후의 변경 내용을 추적합니다.
- 11. 네트워크상에서 mysql에 어떻게 접근합니까?
- 12. 장고 모델에서 인스턴스 메소드 사용하기
- 13. Django 사이트의 익명 사용자에게 세션 메시지를 보내는 방법은 무엇입니까?
- 14. 모델 필드의 기본값으로 현재 로그인 한 사용자를 할당하는 방법은 무엇입니까?
- 15. 모델에서 모델 유형의 자세한 이름으로 이동하기
- 16. 중앙 가입자 모델 복제를 구현하는 방법은 무엇입니까?
- 17. Django, 관리자 모델
- 18. Django 사용자 모델/테이블을 분할하는 방법은 무엇입니까?
- 19. SQL Server에서 감사 로그를 구현하는 방법
- 20. 어떻게 당신에게 접근합니까 APP.CONFIG
- 21. NHibernate에서 gapless하고 사용자에게 친숙한 ID를 구현하는 방법은 무엇입니까?
- 22. django 모델에서 파이썬 속성 사용하기?
- 23. Devise - 두 모델에서 로그인
- 24. Django admin model save - 기존 객체 업데이트
- 25. django 앱에서 ajax를 구현하는 방법은 무엇입니까?
- 26. Django 모델이 save/signal을 사용하거나 modelform을 사용합니까?
- 27. Django 모델에서 PyMock과 Nose를 어떻게 사용합니까?
- 28. Django 모델에서 JavaScript 객체 생성
- 29. "모델 첫 번째"모델에서 데이터베이스를 만드는 방법은 무엇입니까?
- 30. Django - South을 사용하여 모델 필드의 이름을 바꾸는 방법은 무엇입니까?
이것은 정말 늦었지만 django에서 모델 감사를 수행하려는 사용자에게 유용 할 수있는 게시물을 작성했습니다. http://spapas.github.io/2015/01/21/django- 모델 감사/ – Serafeim