모델 기록 추적은 모델 개체의 변경 사항을 추적하는 기능으로, 모델 개체의 변경 사항과 삭제 시점 등을 추적합니다. 또한 모델의 삭제된 개체를 복구하는 데 도움이 됩니다. 이 기사에서는 Django에서 모델 객체의 히스토리를 추적하는 방법을 보기 위해 예제를 사용할 것입니다.
예
먼저 프로젝트, 앱, URL 및 모델을 설정합니다.
django-simple-history 설치 라이브러리 -
pip install django-simple-history
settings.py에서 -
INSTALLED_APPS+=[" simple_history"] MIDDLEWARE = [ #other middle ware 'simple_history.middleware.HistoryRequestMiddleware', ]
여기에 "simple_history"를 추가했습니다. 모듈을 앱 및 미들웨어로 사용합니다.
여기서 우리는 url.py에서 할 일이 별로 없습니다. 및 views.py 우리의 주요 작업은 models.py가 될 것이기 때문에 및 admin.py.
models.py에서 , 다음을 추가하십시오 -
from django.db import models from simple_history.models import HistoricalRecords # Create your models here. class StudentData(models.Model): name=models.CharField(max_length=100) standard=models.CharField(max_length=100) section=models.CharField(max_length=100) history = HistoricalRecords()
여기에서 모든 변경 사항을 저장할 모델과 기록 필드를 간단하게 만들었습니다.
admin.py에서 다음 줄을 추가하십시오 -
from django.contrib import admin from .models import StudentData from simple_history.admin import SimpleHistoryAdmin admin.site.register(StudentData,SimpleHistoryAdmin)
여기에서 히스토리 추적 관리자로 모델을 등록했습니다.
이제 다음 명령을 실행하십시오 -
python manage.py makemigrations python manage.py migrate python manage.py createsuperuser
이제 모든 설정이 완료되었습니다. models.py의 위 코드 view.py에서 액세스할 수 있는 필드에 모든 과거 데이터를 저장합니다. 또는 Django 셸.
출력
views.py에서 쿼리할 수 있습니다. 또는 Django 셸.