मॉडल इतिहास ट्रैकिंग एक ऐसी सुविधा है जो मॉडल ऑब्जेक्ट में परिवर्तनों को ट्रैक करती है, यह चीजों को ट्रैक करती है जैसे आपने इसमें क्या परिवर्तन किया और कब आपने इसे हटा दिया। यह मॉडल के हटाए गए ऑब्जेक्ट को पुनर्प्राप्त करने में भी मदद करता है। इस लेख में, हम यह देखने के लिए एक उदाहरण लेंगे कि Django में मॉडल ऑब्जेक्ट के इतिहास को कैसे ट्रैक किया जाए।
उदाहरण
सबसे पहले, अपना प्रोजेक्ट, ऐप्स, url और एक मॉडल सेट करें।
django-simple-history इंस्टॉल करें पुस्तकालय -
पिप इंस्टाल django-simple-history
settings.py . में -
INSTALLED_APPS+=[" simple_history"]MIDDLEWARE =[ #other मिडिल वेयर 'simple_history.middleware.HistoryRequestMiddleware',]
यहां हमने "simple_history" . जोड़ा है ऐप और मिडलवेयर के रूप में मॉड्यूल।
यहां हमारे पास urls.py . पर करने के लिए बहुत कुछ नहीं है और views.py क्योंकि हमारा मुख्य काम models.py . के साथ होगा और admin.py.
models.py . में , निम्नलिखित जोड़ें -
django.db से मॉडल आयात करें simple_history.models से ऐतिहासिक रिकॉर्ड आयात करें# यहां अपने मॉडल बनाएं। क्लास स्टूडेंटडेटा (मॉडल। मॉडल):नाम =मॉडल। चारफिल्ड (मैक्स_लेंथ =100) मानक =मॉडल। model.CharField(max_length=100) इतिहास =ऐतिहासिक रिकॉर्ड्स ()
यहां हमने बस एक मॉडल और इतिहास फ़ील्ड बनाया है जो हर बदलाव को सहेज लेगा।
admin.py, . में निम्नलिखित पंक्तियाँ जोड़ें -
django.contrib से adminfrom आयात करें।यहां हमने मॉडल को इतिहास ट्रैकिंग व्यवस्थापक के साथ पंजीकृत किया है।
अब ये कमांड चलाएँ -
python manage.py makemigrationspython manage.py माइग्रेटपाइथन manage.py createsuperuserअब आप पूरी तरह तैयार हैं। models.py . में उपरोक्त कोड सभी ऐतिहासिक डेटा को उस फ़ील्ड में सहेज लेगा, जिसे आप views.py . में एक्सेस कर सकते हैं या Django खोल।
आउटपुट
आप इसे views.py . में क्वेरी कर सकते हैं या Django खोल।