SQLAlchemy ORM - फ़िल्टर लागू करना

इस अध्याय में, हम चर्चा करेंगे कि कैसे फ़िल्टर लागू करें और उनके कोड के साथ कुछ निश्चित फ़िल्टर संचालन भी करें।

फ़िल्टर ऑब्जेक्ट () विधि का उपयोग करके क्वेरी ऑब्जेक्ट द्वारा दर्शाए गए परिणाम को कुछ मानदंडों के अधीन किया जा सकता है। फिल्टर विधि का सामान्य उपयोग इस प्रकार है -

session.query(class).filter(criteria)

निम्नलिखित उदाहरण में, ग्राहक तालिका पर SELECT क्वेरी द्वारा प्राप्त परिणाम एक शर्त द्वारा फ़िल्टर किया गया है, (ID> 2) -

result = session.query(Customers).filter(Customers.id>2)

यह कथन निम्नलिखित एसक्यूएल अभिव्यक्ति में अनुवाद करेगा -

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers
WHERE customers.id > ?

चूंकि बाध्य पैरामीटर () को 2 के रूप में दिया गया है, केवल आईडी कॉलम> 2 के साथ उन पंक्तियों को प्रदर्शित किया जाएगा। पूरा कोड नीचे दिया गया है -

from sqlalchemy import Column, Integer, String
from sqlalchemy import create_engine
engine = create_engine('sqlite:///sales.db', echo = True)
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

class Customers(Base):
   __tablename__ = 'customers'
   
   id = Column(Integer, primary_key = True)
   name = Column(String)

   address = Column(String)
   email = Column(String)

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind = engine)
session = Session()
result = session.query(Customers).filter(Customers.id>2)

for row in result:
   print ("ID:", row.id, "Name: ",row.name, "Address:",row.address, "Email:",row.email)

पायथन कंसोल में प्रदर्शित आउटपुट निम्नानुसार है -

ID: 3 Name: Rajender Nath Address: Sector 40, Gurgaon Email: [email protected]
ID: 4 Name: S.M.Krishna Address: Budhwar Peth, Pune Email: [email protected]