پرش به محتویات

خوش آمدید به AbarORM

لوگو

abarorm یک کتابخانه سبک و آسان برای استفاده از نگاشت شیء-رابطه‌ای (ORM) برای پایگاه‌داده‌های SQLite و PostgreSQL در پایتون است. هدف آن ارائه یک رابط ساده و شهودی برای مدیریت مدل‌های پایگاه‌داده و تعاملات است.

ویژگی‌ها

  • تعریف مدل‌ها با استفاده از کلاس‌های پایتون.
  • مدیریت خودکار ایجاد و مدیریت طرح پایگاه‌داده.
  • پشتیبانی از عملیات CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) پایه.
  • مدیریت روابط کلید خارجی به سادگی.
  • انواع فیلد سفارشی با اعتبارسنجی و محدودیت‌ها.
  • جدید در v1.0.0: ایجاد و به‌روزرسانی جدول به‌صورت خودکار.
  • جدید در v2.0.0: افزودن پشتیبانی از پایگاه‌داده‌های PostgreSQL.
  • جدید در v2.0.0: مرتب‌سازی بر اساس فیلدها در متد all().
  • جدید در v3.0.0: رفع اشکالات نام‌گذاری جدول برای اطمینان از سازگاری نام‌ها.
  • جدید در v3.0.0: به‌روزرسانی مقادیر برگشتی متدها برای بهبود وضوح و قابلیت استفاده.
  • جدید در v3.0.0: متد filter بهبود یافته اکنون از order_by برای مرتب‌سازی پشتیبانی می‌کند.
  • جدید در v3.2.0: افزودن قابلیت __gte و __lte در بخش فیلتر.
  • جدید در v4.0.0: روش های __repr__ ، count و to_dict برای دستکاری داده ها و اشکال زدایی آسان تر اضافه شد.
  • جدید در v4.2.3: متدهای first() ، last() ، exists() و paginate() به کلاس QuerySet برای قابلیت های جستجوی قدرتمندتر اضافه شده است.
  • جدید در 5.0.0: رفع اشکالات و ساختار PostgreSQL.
  • جدید در 5.1.0: عملکرد پیشرفته برای قابلیت استفاده و استحکام بهتر:
  • جدید در 5.2.0: bulk_create برای درج دسته‌ای کارآمد معرفی شد.
  • جدید در 5.3.0: پشتیبانی filter به کلاس QuerySet برای فیلترینگ درون حافظه اضافه شده است.
  • جدید در 5.4.0: بهبود ایجاد پایگاه داده PostgreSQL، اضافه شدن پشتیبانی related_name برای ForeignKeys.

✨ ویژگی‌های کلیدی

  • تعریف مدل‌های دیتابیس با استفاده از کلاس‌های ساده و خوانای پایتون
  • ایجاد خودکار جدول‌ها و همگام‌سازی ساختار دیتابیس
  • رفتار یکپارچه و قابل پیش‌بینی عملیات CRUD در SQLite و PostgreSQL
  • API قدرتمند و منعطف QuerySet برای انجام کوئری‌ها
  • پشتیبانی داخلی و ساده از ارتباط‌های ForeignKey
  • انواع فیلدهای سفارشی با اعتبارسنجی و محدودیت‌ها
  • بهینه‌شده برای خوانایی، امنیت و نگه‌داری بلندمدت

🛡️ چه چیزهایی در نسخه v5.5.2 جدید است؟ (آخرین نسخه)

AbarORM v5.5.2 — امنیت، پایداری و یکپارچگی رفتار

این نسخه تمرکز ویژه‌ای بر افزایش امنیت، یکنواخت‌سازی رفتار و بهبود ساختار داخلی در هر دو موتور SQLite و PostgreSQL دارد.

🚀 نکات برجسته

  • محافظت در برابر SQL Injection
    تمامی عملیات CRUD اکنون با استفاده از اعتبارسنجی سخت‌گیرانه فیلدها و کوئری‌های پارامتری‌شده، در برابر SQL Injection در SQLite و PostgreSQL ایمن شده‌اند.

  • رفتار یکپارچه CRUD
    متدهای create، bulk_create، update، delete و save اکنون در هر دو دیتابیس رفتاری کاملاً یکسان دارند؛ بدون رفتارهای غیرمنتظره و با خطای کمتر.

  • بهبود منطق متد save()

  • نمونه‌های موجود همیشه به‌روزرسانی می‌شوند
  • برای اشیای جدید، مقدار id به‌صورت خودکار تنظیم می‌شود

  • بهبود bulk_create و مدیریت ForeignKey
    درج دسته‌ای داده‌ها و مدیریت ارتباط‌های ForeignKey اکنون در هر دو موتور دیتابیس پایدار، قابل اعتماد و یکسان است.

  • بهبود متد QuerySet.contains()
    پشتیبانی بهتر و دقیق‌تر از فیلدهای date و datetime در فیلترگذاری و جستجو.

  • تجربه بهتر در دیباگ
    خروجی متد __repr__ برای مدل‌ها و QuerySetها شفاف‌تر و اطلاعاتی‌تر شده است.

  • بهبود ساختار فیلدها
    پیاده‌سازی فیلدهای SQLite و PostgreSQL کامل‌تر، ساخت‌یافته‌تر و آماده توسعه‌های آینده شده‌اند.

  • بهبود عملکرد و پایداری
    متدهای هسته‌ای ORM بازنویسی شده‌اند تا اجرای سریع‌تر، عملیات ایمن‌تر و رفتار پایدار‌تری فراهم شود.

پایگاه‌داده‌های پشتیبانی‌شده

psql sqlite

نصب

شما می‌توانید abarorm را از PyPI با استفاده از pip نصب کنید:

pip install abarorm

برای پشتیبانی از PostgreSQL، psycopg2-binary را نصب کنید: (ضروری)

pip install psycopg2-binary

با abarorm شروع کنید