Peewee ORM: हल्का और आसान डेटाबेस टूल

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय

डेटाबेस के साथ काम करना किसी भी आधुनिक प्रोग्राम का अहम हिस्सा है। Python में कई ORM लाइब्रेरी मौजूद हैं जो SQL डेटाबेस के साथ आसानी से काम करने में मदद करती हैं। इनमें से सबसे सरल और कॉम्पैक्ट है Peewee। यह छोटे प्रोजेक्ट, स्क्रिप्ट और माइक्रोसर्विसेज के लिए एकदम सही है।

Peewee एक हल्की ORM है जो मॉडल बनाने, क्वेरी चलाने, ट्रांजैक्शन और वेब फ्रेमवर्क के साथ इंटीग्रेशन के लिए सब कुछ प्रदान करती है — और इसे सीखना और लागू करना बेहद आसान है।

ORM के काम करने का तरीका और Peewee की स्थिति

ORM क्या है

ORM (Object-Relational Mapping) एक ऐसी तकनीक है जो आपको प्रोग्रामिंग भाषा के ऑब्जेक्ट के जरिए डेटाबेस से काम करने की सुविधा देती है। SQL क्वेरी लिखने के बजाय, आप Python क्लास बनाते और उनके साथ इंटरैक्ट करते हैं, और ORM इसे SQL में बदल देता है।

ORM SQL पर एक एब्स्ट्रैक्शन प्रदान करता है, जिससे कोड अधिक पढ़ने योग्य और कम त्रुटि-प्रवण होता है। ORM के मुख्य लाभ:

  • SQL क्वेरी का ऑटोमैटिक जनरेशन
  • SQL इंजेक्शन से सुरक्षा
  • विभिन्न डेटाबेस सिस्टम के बीच पोर्टेबिलिटी
  • Python ऑब्जेक्ट के साथ काम करने की सुविधा

Peewee कब चुनें

Peewee निम्नलिखित मामलों में एक बेहतरीन विकल्प है:

  • अगर आपको एक सरल और हल्का टूल चाहिए
  • अगर प्रोजेक्ट छोटा या प्रयोगात्मक है
  • अगर बिना जटिल कॉन्फ़िगरेशन के तेज़ डेवलपमेंट चाहिए
  • प्रोटोटाइप और छोटे वेब एप्लिकेशन के लिए
  • लोकल डेटाबेस वाले डेस्कटॉप एप्लिकेशन के लिए

इंस्टॉलेशन और बेसिक सेटअप

Peewee इंस्टॉल करना

Peewee को pip के जरिए इंस्टॉल करें:

pip install peewee

विभिन्न डेटाबेस सिस्टम के लिए अतिरिक्त पैकेज चाहिए:

# PostgreSQL के लिए
pip install psycopg2-binary

# MySQL के लिए
pip install PyMySQL

# SQLite के लिए (Python में पहले से शामिल)
# अतिरिक्त पैकेज की जरूरत नहीं

डेटाबेस से कनेक्शन

Peewee कई प्रकार के डेटाबेस को सपोर्ट करता है:

from peewee import SqliteDatabase, PostgresqlDatabase, MySQLDatabase

# SQLite
db = SqliteDatabase('my_database.db')

# PostgreSQL
db = PostgresqlDatabase('mydb', user='username', password='password', host='localhost', port=5432)

# MySQL
db = MySQLDatabase('mydb', user='username', password='password', host='localhost', port=3306)

डेटा मॉडल बनाना

बेसिक मॉडल

from peewee import Model, CharField, DateField, IntegerField, TextField

class BaseModel(Model):
    class Meta:
        database = db

class Author(BaseModel):
    name = CharField(max_length=100)
    birth_date = DateField()
    bio = TextField(null=True)
    
class Book(BaseModel):
    title = CharField(max_length=200)
    isbn = CharField(max_length=13, unique=True)
    pages = IntegerField()
    publication_year = IntegerField()
    author = ForeignKeyField(Author, backref='books')

टेबल बनाना

db.connect()
db.create_tables([Author, Book])

Peewee में फील्ड के प्रकार

मुख्य फील्ड प्रकार

फील्ड प्रकार विवरण पैरामीटर
CharField सीमित लंबाई वाली स्ट्रिंग max_length, unique, null
TextField बिना लंबाई सीमा वाला टेक्स्ट null
IntegerField पूर्णांक संख्या null, unique
FloatField दशमलव संख्या null, unique
BooleanField बूलियन मान (सही/गलत) null, default
DateField तारीख null, default
DateTimeField तारीख और समय null, default

अनुशंसाएँ