मुझे खेद है कि अगर उलटा पसंदीदा नामकरण नहीं है, जो मेरी खोज में बाधा डाल सकता है। किसी भी मामले में, मैं दो स्क्लेल्चेमी घोषणात्मक कक्षाओं से निपट रहा हूं, जो कि कई से अधिक रिश्ते हैं। पहला खाता है, और दूसरा संग्रह है। उपयोगकर्ता "खरीद" संग्रह, लेकिन मैं उपयोगकर्ता को पहले 10 संग्रह दिखाना चाहता हूं उपयोगकर्ता अभी तक खरीदा नहीं गया है।sqlalchemy कई से कई, लेकिन उलटा?
from sqlalchemy import *
from sqlalchemy.orm import scoped_session, sessionmaker, relation
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
engine = create_engine('sqlite:///:memory:', echo=True)
Session = sessionmaker(bind=engine)
account_to_collection_map = Table('account_to_collection_map', Base.metadata,
Column('account_id', Integer, ForeignKey('account.id')),
Column('collection_id', Integer, ForeignKey('collection.id')))
class Account(Base):
__tablename__ = 'account'
id = Column(Integer, primary_key=True)
email = Column(String)
collections = relation("Collection", secondary=account_to_collection_map)
# use only for querying?
dyn_coll = relation("Collection", secondary=account_to_collection_map, lazy='dynamic')
def __init__(self, email):
self.email = email
def __repr__(self):
return "<Acc(id=%s email=%s)>" % (self.id, self.email)
class Collection(Base):
__tablename__ = 'collection'
id = Column(Integer, primary_key=True)
slug = Column(String)
def __init__(self, slug):
self.slug = slug
def __repr__(self):
return "<Coll(id=%s slug=%s)>" % (self.id, self.slug)
तो, account.collections के साथ, मैं सभी संग्रह प्राप्त कर सकते हैं, और साथ dyn_coll.limit (1) सब के सब() मैं संग्रह की सूची में प्रश्नों आवेदन कर सकते हैं ... लेकिन मैं कैसे करते हो श्लोक में? मैं पहले 10 संग्रह प्राप्त करना चाहता हूं कि खाता मैप किया गया है।
किसी भी मदद की सराहना की जाती है। धन्यवाद!
हुह:
IMO, स्पष्ट तरीका एक सरल प्रश्न जो आप वस्तुओं आप देख रहे हैं वापस आ जाएगी परिभाषित करने के लिए किया जाएगा। मुझे स्पष्ट रूप से sqlalchemy के बारे में जानने के लिए बहुत कुछ है। :) धन्यवाद! – Hoopes