आपके पास दो विकल्प हैं। आप join
. में शामिल होने की शर्त पास कर सकते हैं इस तरह:
j = join(users, comments, onclause=users.c.id == commends.c.user_id)
यदि आप इसे orm.relationship
. के संदर्भ में परिभाषित कर रहे हैं संपत्ति, कीवर्ड पैरामीटर होगा primaryjoin
onclause
. के बजाय .
हालांकि, मैं जिस दृष्टिकोण को पसंद करता हूं वह सिर्फ झूठ . है . SQLAlchemy को सूचित करें कि एक विदेशी कुंजी है, भले ही नहीं है।
comments = Table('comments', metadata,
Column('id', Integer, primary_key=True),
Column('user_id', Integer, ForeignKey('users.id')),
...
)
SQLAlchemy आगे बढ़ेगा जैसे कि विदेशी कुंजी वास्तव में मौजूद थी, भले ही वास्तविक डेटाबेस में ऐसा न हो। निश्चित रूप से, यदि निहित विदेशी कुंजी बाधा का उल्लंघन किया जाता है, तो आप मुश्किल में पड़ सकते हैं (comments.user_id
जब कोई संगत users.id
न हो ), लेकिन फिर भी आप शायद मुश्किल में पड़ेंगे।