SQLAlchemy 0.7.1 और एक MySQL 5.1 डेटाबेस का उपयोग करना, मुझे मिल गया है एक कई-से-अनेक संबंध के रूप में स्थापित इस प्रकार है:SQLAlchemy: में सदस्यता द्वारा फिल्टर कम से कम एक कई करने के लिए कई संबंधित तालिका
user_groups = Table('user_groups', Base.metadata,
Column('user_id', String(128), ForeignKey('users.username')),
Column('group_id', Integer, ForeignKey('groups.id'))
)
class ZKUser(Base, ZKTableAudit):
__tablename__ = 'users'
username = Column(String(128), primary_key=True)
first_name = Column(String(512))
last_name = Column(String(512))
groups = relationship(ZKGroup, secondary=user_groups, backref='users')
class ZKGroup(Base, ZKTableAudit):
__tablename__ = 'groups'
id = Column(Integer, primary_key=True)
name = Column(String(512))
उपयोगकर्ता कई समूह से संबंधित हो सकते हैं, और समूह में एकाधिक उपयोगकर्ता हो सकते हैं।
जो मैं करने की कोशिश कर रहा हूं वह एक स्क्लेक्लेमी क्वेरी बनाता है जो केवल उन उपयोगकर्ताओं को लौटाता है जो समूह की सूची में से कम से कम एक समूह से संबंधित हैं।
मैंने in_
फ़ंक्शन के साथ खेला, लेकिन यह केवल सूची में सदस्यता के लिए स्केलर मानों का परीक्षण करने के लिए काम करता है। मैं एक एसक्यूएल लेखक का अधिक नहीं हूं, इसलिए मुझे यह भी पता नहीं है कि SELECT
कथन किस प्रकार की आवश्यकता होगी।
सदस्यता से फ़िल्टर करके कई से अधिक संबंधित टेबल पर फ़िल्टर कैसे किया जाता है? – WebPal
आपका उत्तर संदर्भ 'ZKContact' और' संपर्क 'है, लेकिन ये प्रश्न में आपके कोड में नहीं हैं। क्या आपका मतलब ZKUser था? –
वोटिंग उत्तर नीचे, यह प्रश्न के मुकाबले अलग-अलग कीवर्ड का उपयोग कर रहा है, और संभव समाधान का पालन करना मुश्किल है। – Drachenfels