मॉडल हिस्ट्री ट्रैकिंग एक फीचर है जो मॉडल ऑब्जेक्ट में परिवर्तनों को ट्रैक करता है, यह उन चीजों को ट्रैक करता है जैसे आपने इसमें क्या बदलाव किया और आपने इसे कब डिलीट किया। यह मॉडल के डिलीट किए गए ऑब्जेक्ट की रिकवरी में भी मदद करता है। इस लेख में, हम एक उदाहरण लेंगे और देखेंगे कि Django में मॉडल ऑब्जेक्ट की हिस्ट्री को कैसे ट्रैक किया जाए।
उदाहरण
सबसे पहले, अपना प्रोजेक्ट, ऐप्स, urls और एक मॉडल सेट करें।
django-simple-history लाइब्रेरी इंस्टॉल करें:
pip install django-simple-history
settings.py में:
INSTALLED_APPS += ["simple_history"]
MIDDLEWARE = [
# अन्य मिडलवेयर
'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
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 शेल में एक्सेस कर सकते हैं।
आउटपुट

आप इसे views.py या Django शेल में क्वेरी कर सकते हैं।