2010-02-25 5 views
14

जब आप Django के व्यवस्थापक में किसी ऑब्जेक्ट इंस्टेंस को बनाते या संशोधित करते हैं, तो चेंजलॉग प्रविष्टि बनाई जाती है। यह काफी स्पष्ट कारणों के लिए वास्तव में अच्छा है।Django मॉडल उदाहरणों में ट्रैकिंग परिवर्तन

हालांकि मेरे मॉडल के उदाहरण व्यवस्थापक इंटरफ़ेस के बाहर एक सामान्य उपयोगकर्ता द्वारा बनाए गए उदाहरण हैं। इसके निर्माण को नोट करने के लिए कोई चेंजलॉग दर्ज नहीं किया गया है (एक बड़ी समस्या नहीं) लेकिन मैं उपयोगकर्ता द्वारा किए गए संपादन को ट्रैक करना चाहता हूं।

मैं उपयोगकर्ता को इस पूर्ण लॉग (उपयोगकर्ता + व्यवस्थापक संपादन) को फ्रंटेंड में दिखाना चाहता हूं, इसलिए मुझे चेंजलॉग को खींचने का एक तरीका चाहिए।

मेरा प्रश्न: कैसे? क्या एक लाइन स्विच है जो मैं पूर्ण लॉगिंग सक्षम करने के लिए फ्लिक कर सकता हूं या क्या मुझे अपने उपयोगकर्ता के संपादन फॉर्म तर्क पर कुछ खोदना है और कुछ करना है?

+2

आप अपने आप को django admin LogEntry मॉडल का उपयोग कर सकते हैं: http://stackoverflow.com/questions/1398051/getting-the-history-of-an-object –

+1

या मार्टी अल्चिन के ऑडिट ट्रेल का उपयोग करें: http://stackoverflow.com/प्रश्न/818823/django-audittrail-vs-reversion –

उत्तर

9

django-reversion एक ऐप है जो इसके साथ मदद करने के लिए डिज़ाइन किया गया है।

+0

मैंने वास्तव में इस समाधान का उपयोग नहीं किया है, लेकिन क्या आप वास्तव में django-reversion से एक चेंजलॉग प्राप्त कर सकते हैं? वैसे भी +1 क्योंकि मुझे लगता है कि यह अभी भी ओली की जरूरतों को पूरा कर सकता है। –

+0

यह अब तक की सबसे सरल विधि है। इसमें बदलावों को ट्रैक करने के लिए बाध्यकारी होने की अद्भुत और बहुत पाइथोनिक विधियां हैं जो मेरी शैली को पूरी तरह से फिट करती हैं। मुझे यकीन है कि परिवर्तनों की सूची निकालने का मुझे एक तरीका मिलेगा! – Oli

+0

admin.py history_view –