के लिए एक गैर अनुक्रमिक आईडी/पीके उत्पन्न करना मैं एक नए वेबपैप पर काम शुरू करने के केंद्र में हूं। इसका एक हिस्सा उपयोगकर्ता पेज देगा जो वे एक से कई रिश्ते में अनुकूलित कर सकते हैं। इन पृष्ठों को स्वाभाविक रूप से अद्वितीय यूआरएल होना चाहिए।एक Django मॉडल
अपने डिवाइस पर छोड़ दिया गया, Django सामान्य रूप से एक मॉडल के लिए मानक AUTOINCREMENT
आईडी असाइन करेगा। हालांकि यह शानदार रूप से काम करता है, यह बहुत अच्छा नहीं लग रहा है और यह पेजों को बहुत अनुमानित बनाता है (ऐसा कुछ जो इस मामले में वांछित नहीं है)।
1, 2, 3, 4 के बजाय मैं सेट-लम्बाई, यादृच्छिक रूप से जेनरेट किए गए अल्फान्यूमेरिक तार (जैसे h2esj4) चाहता हूं। 36 वर्णों के संभावित सेट के 6 स्पॉट्स को मुझे दो अरब संयोजनों से अधिक देना चाहिए जो इस चरण में पर्याप्त से अधिक होना चाहिए। बेशक अगर मैं इसे बाद में विस्तारित कर सकता हूं, तो यह भी अच्छा होगा।
रैंडम तार कभी कभी उल्लेख बुरे शब्द या अन्य आपत्तिजनक वाक्यांश:
लेकिन वहाँ दो मुद्दे हैं। क्या उसमें से छेड़छाड़ करने का कोई अच्छा तरीका है? निष्पक्ष होने के लिए मैं शायद एक संख्यात्मक स्ट्रिंग के लिए बस सकता हूं लेकिन इसमें संघर्ष की संभावना पर भारी हिट होती है।
मैं Django (या डेटाबेस) को भारी उठाने के लिए कैसे प्राप्त करूं? मैं इसके बजाय डालने और नहीं तो कुंजी को काम करता हूं (क्योंकि यह एक कुंजी नहीं होगा)। मुझे लगता है कि समेकन के मुद्दे भी जागरूक होने के बावजूद हैं, भले ही दो नए पेज एक ही समय में उत्पन्न हुए हों और दूसरा (सभी बाधाओं के खिलाफ) जादूगर को पहले की तरह पहले की तरह ही कुंजी मिल गई।
मुझे यह नहीं लगता कि यूआरएल शॉर्टनर अपनी आईडी कैसे उत्पन्न करते हैं, यह दस लाख मील से अलग है। यदि एक के लिए एक सभ्य Django कार्यान्वयन है, तो मैं उस से पिगबैक कर सकता था।
एक नोट के रूप में: 'यूआरएल श ऑर्टेनर्स आमतौर पर अनुक्रमिक यूआरएल उत्पन्न करते हैं :)। –