PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

SQLAlchemy क्वेरी त्रुटि दिखाती है तालिका/चयन योग्य 'वर्कफ़्लो' को स्वयं में शामिल नहीं कर सकती

भाग

.query(Workflow.user_id, func.count(Log.id))

Workflow दोनों जोड़ता है और Log आपकी क्वेरी के लिए। पहले मॉडल को प्राथमिक तालिका के रूप में चिह्नित किया गया है और अन्य को द्वितीयक के रूप में चिह्नित किया गया है। अगर कोई कॉल नहीं है .join() बाद में, प्राथमिक और द्वितीयक दोनों तालिकाओं को FROM . में जोड़ दिया जाएगा खंड। अगर .join() . पर कॉल आती हैं यह प्राप्त होने वाली तालिका को JOIN . पर ले जाएगा खंड। यहाँ महत्वपूर्ण बात यह है कि .join() केवल द्वितीयक तालिका पर लागू किया जा सकता है।

समस्या यह है कि आपका कॉल

.join(Workflow, Workflow.id == Log.workflow_id)

प्राथमिक तालिका को शामिल के रूप में चिह्नित करने का प्रयास करता है। समस्या को ठीक करने के लिए आपको द्वितीयक तालिका में शामिल होना होगा:

.join(Log, Workflow.id == Log.workflow_id)

आप echo=True जोड़ सकते हैं SQLAlchemy द्वारा उत्पन्न SQL को देखने के लिए। अपने प्रश्नों को डीबग करना वास्तव में सुविधाजनक है। या आप संकलित कर सकते हैं उत्पन्न SQL देखने के लिए एकल क्वेरी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका कॉलम को दूसरे डेटा प्रकार में कैसे बदलें

  2. PostgreSQL लॉग से सर्वश्रेष्ठ कैसे प्राप्त करें

  3. पाठ और वर्चर के बीच अंतर (चरित्र भिन्न)

  4. PostgreSQL में यूजर कैसे बनाएं

  5. उच्च उपलब्धता के लिए PostgreSQL के साथ Teamcity कैसे परिनियोजित करें