خوش آمدید به 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 بازنویسی شدهاند تا اجرای سریعتر، عملیات ایمنتر و رفتار پایدارتری فراهم شود.
پایگاهدادههای پشتیبانیشده¶
نصب¶
شما میتوانید abarorm را از PyPI با استفاده از pip نصب کنید:
برای پشتیبانی از PostgreSQL، psycopg2-binary را نصب کنید: (ضروری)