2016-04-12 14 views
8

मुझे सूची के रूप में order_by फ़ील्ड मिल रहा है। मैं django orm के साथ एकाधिक फ़ील्ड द्वारा order_by करना चाहता हूं। सूची नीचे की तरह है:Django: Order_by एकाधिक फ़ील्ड्स

modelclassinstance.objects.all().order_by(*orderbyList) 

सब कुछ मैं एक सूची में उम्मीद कर रहा हूँ गतिशील है:

orderbyList = ['check-in','check-out','location'] 

मैं एक प्रश्न लिख रहा हूँ की तरह है। मेरे पास डेटा का पूर्व निर्धारित सेट नहीं है। क्या कुछ मुझे बता सकते हैं कि इसके साथ डीजेंगो ओआरएम कैसे लिखना है?

उत्तर

22

इस

modelclassinstance.objects.order_by('check-in', 'check-out', 'location') 

की तरह कुछ आप इस

आप भी अपने मॉडल वर्ग

कुछ

तरह
class Meta: 
     ordering = ['check-in', 'check-out', 'location'] 
+1

धन्यवाद मुझे यह मिला .. मुझे अन्य लिंक से मिला है। modelclassinstance.objects.order_by (* ऑर्डरबीलिस्ट) – danny

2

कोशिश में आदेश देने के लिए परिभाषित कर सकते हैं .all() की जरूरत नहीं है की कोशिश करो यह:

listOfInstance = modelclassinstance.objects.all() 

for askedOrder in orderbyList: 
    listOfInstance = listOfInstance.order_by(askedOrder) 
+0

modelclassinstance.objects.order_by (* ऑर्डरबीलिस्ट) order_by के लिए बेहतर तरीका है –

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