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" โมดูลเป็นแอปและมิดเดิลแวร์

ที่นี่เราไม่ต้องทำอะไรมากใน urls.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 จะบันทึกข้อมูลประวัติทั้งหมดในฟิลด์ที่คุณสามารถเข้าถึงได้ใน views.py หรือเปลือก Django

ผลลัพธ์

การติดตามประวัติของวัตถุแบบจำลองใน Django การติดตามประวัติของวัตถุแบบจำลองใน Django การติดตามประวัติของวัตถุแบบจำลองใน Django การติดตามประวัติของวัตถุแบบจำลองใน Django

คุณสามารถค้นหาได้ใน views.py หรือเปลือก Django