Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Django에서 모델 객체의 히스토리 추적

<시간/>

모델 기록 추적은 모델 개체의 변경 사항을 추적하는 기능으로, 모델 개체의 변경 사항과 삭제 시점 등을 추적합니다. 또한 모델의 삭제된 개체를 복구하는 데 도움이 됩니다. 이 기사에서는 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 셸.

출력

Django에서 모델 객체의 히스토리 추적 Django에서 모델 객체의 히스토리 추적 Django에서 모델 객체의 히스토리 추적 Django에서 모델 객체의 히스토리 추적

views.py에서 쿼리할 수 있습니다. 또는 Django 셸.