के साथ django ऑब्जेक्ट्स बनाना I एक एपीआई के साथ काम कर रहा है जो मुझे अपने एपीआई के साथ लेनदेन के लिए अपारदर्शी "संदर्भ आईडी" उत्पन्न करना चाहता है, दूसरे शब्दों में, अद्वितीय संदर्भ जो उपयोगकर्ता अनुमान लगा सकते हैं या अनुमान लगा सकते हैं मार्ग। ('का अनुमान लगा' है उचित अंग्रेज़ी?)एक यादृच्छिक प्राथमिक कुंजी
यह है कि मैं क्या एक साथ वर्तमान में काट दिया गया है:
randomRef = randint(0, 99999999999999)
while Transaction.objects.filter(transactionRef = randomRef).count():
randomRef = randint(0, 99999999999999)
Transaction.objects.create(user=user, transactionRef=randomRef, price=999)
दुर्भाग्य से मेरी डेटाबेस पल में लेनदेन कमी रह गई है। मुझे एहसास हुआ है कि मेरी विधि विशेष रूप से थ्रेड सुरक्षित नहीं है (कहें कि मैं एक ही django कोड को कई mod_wsgi apache थ्रेड पर चला रहा हूं, वे सभी एक ही यादृच्छिक आरएफ उत्पन्न कर सकते हैं!)
क्या किसी को भी एक अच्छी चाल मिली है मेरे लिए यादृच्छिक प्राथमिक कुंजी उत्पन्न करें?
हाँ, "अनुमान" ठीक है। – derekerdmann