सभी डेटाबेस ऑब्जेक्ट्स की सूची से एक यादृच्छिक तत्व का चयन करना एक goog समाधान नहीं है क्योंकि डेटाबेस के सभी तत्वों को पुनर्प्राप्त करने से प्रदर्शन पर बड़ा प्रभाव पड़ सकता है, न ही order_by('?')
का उपयोग कर रहा है। जैसा कि django डॉक्यूमेंटेशन
में बताया गया है ।
एक यादृच्छिक सूचकांक के साथ एक तत्व को पुनः प्राप्त करने के लिए सबसे अच्छा समाधान होना चाहिए:
import random
random_idx = random.randint(0, Model.objects.count() - 1)
random_obj = Model.objects.all()[random_idx]