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

मॉडल उपयोगकर्ता के लिए SQLAlchemy (पायथन, फ्लास्क) में कई से संबंध कैसे बनाएं?

आप जिस पैटर्न को लागू करने का प्रयास कर रहे हैं वह कई-से-अनेक संबंधों का एक विशेष मामला है। SQLAlchemy इसे एक एडजेंसी लिस्ट रिलेशनशिप कहता है, और मैं वहां कोड के माध्यम से पालन करने की कोशिश करने की सलाह देता हूं:

http://docs.sqlalchemy.org/en /rel_0_9/orm/relationships.html#adjacency-list-relationships

कुंजी वहां 'रिमोट_साइड' क्वार्ग है।

यहाँ क्यों है:आपको जो त्रुटि मिल रही है, वह यह है कि आपकी संबद्धता तालिका ('दोस्तों') में दो विदेशी कुंजियाँ हैं जो तालिका 'उपयोगकर्ताओं' की ओर इशारा करती हैं:एक स्तंभ 'user_id' पर, और एक स्तंभ 'friend_id' पर। SQLAlchemy विदेशी कुंजियों के आधार पर संबंधों का स्वतः पता लगाने का प्रयास करता है, लेकिन यह विफल हो जाता है क्योंकि यह यह नहीं बता सकता कि संबंध किस दिशा में जाता है। तो अगर आपके पास टेबल 'दोस्तों' में एंट्री है तो ऐसे ही

user_id   : 1
friend_id : 2

SQLAlchemy यह नहीं बता सकता कि user_1 के पास user_2 मित्र के रूप में है, या इसके विपरीत।

अगर यह भ्रमित करने वाला लगता है, तो यह है। सामाजिक नेटवर्क के अर्थ में मित्रता विशिष्ट हो सकती है , जिस स्थिति में उपयोगकर्ता_1 के मित्र उपयोगकर्ता_2 होने का अर्थ यह नहीं है कि उपयोगकर्ता_2 के पास मित्र के रूप में उपयोगकर्ता_1 है; या यह विशेषण हो सकता है , जिस स्थिति में दोनों समकक्ष हैं। मैं यहां अपनी उम्र दिखा रहा हूं, लेकिन पहले का प्रतिनिधित्व लाइवजर्नल द्वारा किया जाता है, जबकि बाद वाले का प्रतिनिधित्व फेसबुक द्वारा किया जाता है।

मैं अपने सिर के ऊपर से नहीं जानता कि SQLAlchemy में एक विशेष संबंध को कैसे कार्यान्वित किया जाए। यह एक बदसूरत यूनियन ऑल या MySQL में ऐसा कुछ है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql डेवलपर को XAMPP MYSQL सर्वर से कैसे कनेक्ट करें

  2. क्या निम्न प्राथमिक कुंजी परिवर्तन `पीटी-ऑनलाइन-स्कीमा-परिवर्तन` के साथ काम करेगा?

  3. इनो सेटअप स्क्रिप्ट पर MySQL इंस्टाल और लोड डेटाबेस

  4. रेल MySQL से कनेक्ट करने का प्रयास क्यों कर रही है?

  5. उपयोगकर्ता समय क्षेत्र के अनुसार तारीख को पुनः प्राप्त करें और इसे विशिष्ट समय क्षेत्र में परिवर्तित करें