2010-03-23 12 views
6

मेरे पास विभिन्न मॉडल हैं जिनमें से मैं ट्रैक रखना और सांख्यिकीय डेटा एकत्र करना चाहता हूं।परिवर्तनों का ट्रैक रखना - Django

समस्या यह है कि पूरे समय परिवर्तनों को कैसे स्टोर किया जाए।

मैं विभिन्न विकल्प के बारे में सोचा:

  • एक TextField में एक लॉग भंडारण, इसे खोलने और यह हर बार मॉडल सहेजा जाता है अद्यतन करें।
  • वैकल्पिक रूप से एक सूची चुनें और इसे टेक्स्टफ़िल्ल्ड में संग्रहीत करें।
  • हार्ड ड्राइव पर लॉग सहेजें।

अपने सुझाव क्या हैं?

उत्तर

6

पहिया को पुन: पेश न करें .. परिवर्तनों को लॉग इन करने के लिए django-reversion का उपयोग करें।

हालांकि मैं सांख्यिकी को एक अलग मॉडल में तोड़ दूंगा।

+0

डाटाबेस जर्नलिंग overkill की तरह लगता है। – msw

+0

@ ओली मैं चाहता हूं कि मैं इसके बारे में कुछ समय पहले जानता था, मुझे स्क्रैच से विकी को लागू करना पड़ा। इससे बहुत मदद मिलेगी। इस उद्देश्य के लिए बीटीडब्ल्यू, यह थोड़ा बहुत फूला हुआ हो सकता है। किसी भी मामले में, बहुत बहुत धन्यवाद !! – RadiantHex

1

मेरा प्राथमिक रसायन शास्त्र शिक्षक: "यदि आप इसे लिख नहीं पाते हैं, तो ऐसा नहीं हुआ", इसलिए फ़ाइल में लॉग सहेजें।

चूंकि लॉग जानकारी आपके एप्लिकेशन डेटा से अलग है (यह मेटा-डेटा है, वास्तव में), उन्हें अलग रखें। आप डेटाबेस तालिका में लॉग इन कर सकते हैं लेकिन यह आपके मॉडल से अलग होना चाहिए।

टेक्स्ट अचार डेटा मनुष्यों के पढ़ने के लिए मुश्किल है, बाइनरी अचार डेटा और भी बहुत कुछ; आसानी से पार्स किए गए प्रारूप में लॉग इन करें और डेटा आसानी से विश्लेषण सॉफ्टवेयर में आयात किया जा सकता है।

+0

@msw: जैसा कि आपने सुझाव दिया है मैं इसे कर रहा हूं। इसके लिए धन्यवाद, पायथन लॉगिंग वास्तव में काफी शक्तिशाली है। :) – RadiantHex

1

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

किसी भी मामले में आपको प्रत्येक मॉडल को कोडिंग के बजाय मॉडलों पर किए गए परिवर्तनों को लॉग इन करने के लिए एक सामान्य तंत्र का उपयोग करना चाहिए।

इस पर एक नज़र डालें: अगर मैं सही ढंग से पढ़ रहा हूँ ओपी http://www.djangosnippets.org/snippets/1052/

+0

@ शारजील जो कमाल है! धन्यवाद! – RadiantHex

संबंधित मुद्दे