2012-01-25 10 views
5

हम एक django वेबसाइट पर काम कर रहे हैं जिसमें हम उपयोगकर्ताओं को सामग्री का नियंत्रण देना चाहते हैं, लेकिन हम प्रशासक उपयोगकर्ताओं को सामग्री को नियंत्रित करना चाहते हैं, और कुछ सुपरसियर रोलबैक के मामले में स्वीकृत सामग्री की कतार अतीत में एक विशिष्ट संस्करण के लिए डेटाक्या django-moderation और django-reversion एक content_type के लिए मिलकर काम कर सकते हैं?

मुझे दोनों चीजें बनाने के लिए एक django ऐप नहीं मिल रहा है। मैं django-moderation और django-reversion के बारे में पढ़ रहा था, और मैं सोच रहा था कि उन्हें एक साथ काम करने का कोई तरीका है या नहीं।

मैंने देखा कि यह एक आवर्ती सवाल है, लेकिन कोई भी यह सही जवाब देता है। सामान्य उत्तर एक या दूसरे का उपयोग होता है, लेकिन किसी को भी समस्या का हल नहीं लगता है।

मैंने पढ़ा कि मुख्य समस्या यह है कि किसी सामग्री के लिए संयम और संस्करण होने के मामले में, यह संस्करणों का पेड़ बना सकता है।

लेकिन फिर भी, मैंने सोचा था कि मैं सिर्फ स्वीकार कर लिया संस्करणों संग्रहीत करने के लिए चाहते हैं, तो पिछले संस्करणों यानी समय में पीछे की ओर एक नज़दीकी इतिहास उत्पन्न होगा, अगर मैं कुछ वापस लौटने और एक नया बात स्वीकार करते हैं, तो मुझे लगता है कि ठीक है उस बिंदु से अस्वीकृत शाखा हटाएं जहां मैंने वापस कर दिया था जब मैं (फिर स्टोर) नया संस्करण स्वीकार करता हूं, जिससे एक नई शाखा होती है।

क्या यह दोनों django-moderation और django-reversion के साथ करना संभव है?

एप्लिकेशन के बारे में जानकारी:

[1] https://github.com/etianen/django-reversion/wiki

[2] https://github.com/dominno/django-moderation

उत्तर

5

'हां'।

तो मुझे भी यही समस्या थी, लेकिन मुझे यह भी समस्या थी कि django-moderation थोड़ा अनजान से अधिक प्रतीत होता है।

मैंने https://github.com/CBWhiz/django-moderation पर डीजेंगो-मॉडरेशन फोर्क किया और वास्तव में इसे Django 1.4 के तहत काम करने के लिए बदलावों का एक समूह बनाया। मुझे यकीन है कि मैंने थोड़ी सी पिछली संगतता तोड़ दी है, इसलिए मुझे यकीन नहीं है कि मेरी शाखा कभी फिर से विलय हो जाएगी।

django-reversion के लिए, यह मेरी आवश्यकताओं के लिए एक साथ अच्छी तरह से काम करता है। मुझे इसे समर्थन देने के लिए विशिष्ट रूप से django-moderation में एक हैक जोड़ना पड़ा था: https://github.com/CBWhiz/django-moderation/commit/3b367d68954cea3d7910d8efc5850a136229db0e#L0R49

तो, django-reversion स्थापित करना और django-moderation की मेरी शाखा उचित रूप से अच्छी तरह से काम करती है।

एकमात्र संभावित स्नैग यह हो सकता है कि जब भी आप स्वीकृति देते हैं तो रिवर्सन इतिहास एक प्रविष्टि जोड़ देगा, जब आप स्वीकृति नहीं देते हैं, तो यह अनुमोदित संपादन भी संग्रहीत करता है। अगर आप इसके लिए महसूस करते हैं तो यह भी कल्पना की जा सकती है।

+0

2 सवाल: क्या आपको लगता है कि यह Django 1.3 में काम करेगा क्या? और geodjango के साथ? – jperelli

+0

1.3 के लिए ठीक करना आसान होना चाहिए। हालांकि, भौगोलिक के लिए, आपको _base_manager का उपयोग करने के लिए परिवर्तनों को वापस करने की आवश्यकता हो सकती है क्योंकि इससे भौगोलिक ब्रेक हो सकता है। –

+0

मॉडरेशन ठीक काम करता है, लेकिन मैं रिवर्सन कॉन्फ़िगर नहीं कर सकता, क्या आप मुझे मॉडलों को पंजीकृत करने के बारे में एक संकेत दे सकते हैं? – jperelli

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