मैं फ्लास्क और स्क्लाक्लेमी का उपयोग कर रहा हूं।एकाधिक ऑर्डर_बी sqlalchemy/फ्लास्क
मान लें कि मेरे पास फ़ील्ड की लोकप्रियता और 'date_created' के साथ एक उपयोगकर्ता मॉडल है। मैं निम्नलिखित क्वेरी करना चाहता हूं:
SELECT * FROM user ORDER BY popularity DESC, date_created DESC LIMIT 10
मैं स्क्लाक्लेमी में एकाधिक ऑर्डर_बी कैसे कर सकता हूं? एक भी एक के लिए, यह काम करता है:
User.query.order_by(User.popularity.desc()).limit(10).all()
मैं सिर्फ एक और order_by जोड़ना चाहिए? या मेरे वर्तमान order_by में दोनों लोकप्रियता और date_created डाल दिया? मैं आदेश के लिए date_created पर लोकप्रियता प्राथमिकता चाहते हैं।
बहुत बहुत धन्यवाद!
खैर तथ्य यह है कि मैंने कोशिश की 'User.query.order_by (User.popularity.desc(), User.date_created.desc())। सीमा (10) है। सभी() ' ' User.query.order_by (User.popularity.desc())। order_by (User.date_created.desc())। सीमा (10) .all() ' ' User.query.order_by (User.date_created.desc())। सीमा (10) .all() ' और वे मुझे अलग-अलग परिणाम देते हैं ... तो ऐसा लगता है कि दूसरा आदेश देने से पहले न तो ओवरराइड होता है एक और ऑर्डर की स्थिति को पहले में जोड़ता है? –
(और इनमें से कोई भी प्रश्न विफल नहीं होता है, वे सभी मुझे परिणाम देते हैं, मुझे नहीं पता कि पहले दो में से कौन सा मुझे चाहिए) –
ठीक है, वास्तव में दोनों मुझे एक ही जवाब देते हैं, और मैंने अंतर्निहित पाया एसक्यूएल क्वेरी (धन्यवाद http://stackoverflow.com/questions/4617291/how-do-i-get-a-raw-compiled-sql-query-from-a-sqlalchemy-expression) और वे वास्तव में वही हैं, और सही एक। क्षमा करें, और आपके उत्तर के लिए बहुत बहुत धन्यवाद! –