برنامه‌نویسی

برنامه‌نویسی

دنیای زبان‌های کدنویسی و توسعه نرم‌افزار

زبان‌های برنامه‌نویسیتوسعه نرم‌افزارالگوریتم‌ها و داده‌ساختارهامهندسی نرم‌افزاربرنامه‌نویسی وب و موبایل

مقالات این بخش

تجمیع (Aggregation) و Annotation در Django ORM: محاسبه میانگین، شمارش، بیشینه، کمینه و رفتار چندتجمیعی

این مقاله نحوهٔ انجام عملیات تجمیع در Django ORM را توضیح می‌دهد: استفاده از aggregate() برای محاسبهٔ مقادیر کلی مانند میانگین و بیشینه، استفاده از annotate() برای افزودن مقادیر تجمیعی به هر آبجکت، مشکلات رایج هنگام ترکیب چند تجمیع، استفاده از distinct=True برای جلوگیری از نتایج اشتباه، و نحوهٔ بررسی SQL تولیدشده برای درک بهتر رفتار Query.

/persian/article-fa/aggregation-and-annotation-in-django-orm-summaries-counts-averages-and-multiaggregation-behavior-fa

جستجو در Django ORM: از فیلترهای ساده تا Full‑Text Search در PostgreSQL

این مقاله روش‌های مختلف جستجو در Django را بررسی می‌کند: از جستجوهای سادهٔ متنی با contains و icontains، تا استفاده از قابلیت‌های پیشرفتهٔ دیتابیس‌ها مانند unaccent و trigram در PostgreSQL. همچنین توضیح می‌دهد چرا جستجوی مبتنی بر متن برای داده‌های بزرگ ناکارآمد است و چگونه می‌توان از موتورهای جستجوی سندمحور یا Full‑Text Search داخلی PostgreSQL استفاده کرد.

/persian/article-fa/search-in-django-orm-from-basic-text-lookups-to-postgresql-fulltext-search-fa

درک Managerها در Django ORM: مدیرهای سفارشی، مدیر پیش‌فرض، مدیر پایه و الگوهای پیشرفتهٔ استفاده

این مقاله توضیح می‌دهد که Manager در Django چیست، چگونه می‌توان نام آن را تغییر داد، چگونه یک Manager سفارشی ساخت، چگونه get_queryset را بازنویسی کرد، تفاوت بین مدیر پیش‌فرض و مدیر پایه چیست، چرا Django برای دسترسی به روابط از base manager استفاده می‌کند، و چگونه می‌توان متدهای یک QuerySet سفارشی را از طریق Manager در دسترس قرار داد. Managerها نقطهٔ اصلی تعامل مدل‌ها با پایگاه داده هستند و درک آن‌ها برای نوشتن ORM تمیز و قدرتمند ضروری است.

/persian/article-fa/understanding-managers-in-django-orm-custom-managers-default-managers-base-managers-and-advanced-usage-patterns-fa

اجرای کوئری‌های SQL خام در Django: RawSQL، raw() و اجرای مستقیم SQL

این مقاله سه روش Django برای اجرای SQL خام را توضیح می‌دهد: استفاده از RawSQL در داخل QuerySet، استفاده از متد raw() برای بازگرداندن نمونه‌های مدل، و اجرای مستقیم SQL بدون لایهٔ مدل. همچنین نحوهٔ نگاشت فیلدها، پارامترگذاری امن، محدودیت‌ها، deferred fields، و هشدارهای امنیتی مربوط به SQL injection بررسی می‌شود.

/persian/article-fa/performing-raw-sql-queries-in-django-rawsql-raw-field-mapping-parameters-and-safety-considerations-fa

مدیریت تراکنش‌های پایگاه داده در Django: atomic، ATOMIC_REQUESTS، savepointها و رفتار autocommit

این مقاله نحوهٔ مدیریت تراکنش‌ها در Django را توضیح می‌دهد: رفتار پیش‌فرض autocommit، استفاده از ATOMIC_REQUESTS برای تراکنش‌های سطح درخواست، کنترل صریح تراکنش‌ها با atomic، مدیریت خطاها، savepointها، نکات عملکردی، و دلیل استفادهٔ Django از autocommit. همچنین خطرات رایج مانند پنهان‌کردن استثناها داخل atomic و ناسازگاری وضعیت مدل پس از rollback بررسی می‌شود.

/persian/article-fa/database-transaction-management-in-django-atomic-atomic-requests-savepoints-and-autocommit-behavior-fa

کار با چند دیتابیس در Django: پیکربندی، مهاجرت‌ها، مسیریابی خودکار و Database Routerها

این مقاله نحوهٔ استفاده از چند دیتابیس در Django را توضیح می‌دهد: از تعریف دیتابیس‌ها در تنظیمات، اجرای migrate روی دیتابیس‌های مختلف، رفتار دستورات مدیریتی، تا مسیریابی خودکار کوئری‌ها و پیاده‌سازی Database Routerها. همچنین نحوهٔ کنترل عملیات خواندن، نوشتن، روابط و مهاجرت‌ها با استفاده از متدهای db_for_read، db_for_write، allow_relation و allow_migrate بررسی می‌شود.

/persian/article-fa/working-with-multiple-databases-in-django-configuration-migrations-routing-and-database-routers-fa

Tablespace در Django: مدیریت محل ذخیره‌سازی جداول و ایندکس‌ها در دیتابیس

این مقاله مفهوم Tablespace در Django را توضیح می‌دهد؛ اینکه چگونه می‌توان محل ذخیره‌سازی جداول و ایندکس‌ها را کنترل کرد، چگونه از db_tablespace در مدل‌ها و فیلدها استفاده می‌شود، نقش DEFAULT_TABLESPACE و DEFAULT_INDEX_TABLESPACE چیست، و کدام دیتابیس‌ها از tablespace پشتیبانی می‌کنند. همچنین یک مثال کامل برای درک بهتر ارائه شده است.

/persian/article-fa/using-tablespaces-in-django-table-storage-index-placement-and-database-support-fa

بهینه‌سازی دسترسی به دیتابیس در Django: راهکارهای عملی برای افزایش سرعت و کاهش هزینهٔ کوئری‌ها

این مقاله مجموعه‌ای از تکنیک‌ها و توصیه‌های مهم برای بهینه‌سازی دسترسی به دیتابیس در Django را ارائه می‌دهد. از پروفایل‌کردن کوئری‌ها و استفاده از ابزارهایی مانند explain() و django-debug-toolbar، تا درک رفتار QuerySet، استفاده از iterator()، انجام پردازش در دیتابیس به‌جای Python، و بهره‌گیری از RawSQL یا SQL خام. این راهنما به شما کمک می‌کند کوئری‌های سریع‌تر، کم‌هزینه‌تر و بهینه‌تر بنویسید.

/persian/article-fa/database-access-optimization-in-django-profiling-queryset-behavior-indexing-and-efficient-query-techniques-fa

ابزارهای پایش و کنترل کوئری‌ها در Django: معرفی Database Query Wrappers و execute_wrapper

این مقاله نحوهٔ استفاده از قابلیت Database Instrumentation در Django را توضیح می‌دهد؛ قابلیتی که به شما اجازه می‌دهد اجرای کوئری‌ها را کنترل، ثبت، محدود یا تحلیل کنید. با استفاده از execute_wrapper می‌توان رفتار اجرای کوئری‌ها را تغییر داد، آن‌ها را لاگ کرد، مدت زمانشان را اندازه گرفت یا حتی اجرای کوئری را مسدود کرد. این مقاله ساختار wrapperها، پارامترهای ورودی، مثال‌های عملی و کاربردهای رایج را پوشش می‌دهد.

/persian/article-fa/database-query-instrumentation-in-django-using-execute-wrapper-to-monitor-log-and-control-query-execution-fa

آشنایی کامل با Fixtures در Django: ایجاد، بارگذاری، کشف، ترتیب اجرا و نکات مهم

این مقاله مفهوم Fixture در Django را توضیح می‌دهد و نحوهٔ ایجاد، بارگذاری، محل جستجو، ترتیب بارگذاری، رفتار سیگنال‌ها، استفاده از فایل‌های فشرده، و مدیریت Fixtureهای مخصوص دیتابیس را بررسی می‌کند. Fixtures ابزاری قدرتمند برای بارگذاری داده‌های اولیه، داده‌های تست و داده‌های قابل حمل در پروژه‌های Django هستند.

/persian/article-fa/understanding-fixtures-in-django-creation-loading-discovery-ordering-and-best-practices-fa

رابطه‌های چندبه‌چند (Many‑to‑Many) در Django: آموزش کامل با مثال‌های عملی

این مقاله نحوهٔ تعریف و استفاده از رابطه‌های چندبه‌چند در Django را توضیح می‌دهد. از ایجاد مدل‌ها و افزودن داده‌ها، تا کوئری‌زدن، حذف، به‌روزرسانی، استفاده از سمت معکوس رابطه، set و clear، و رفتار رابطه‌ها هنگام حذف آبجکت‌ها. تمام مثال‌ها با API پایتونی Django ارائه شده‌اند.

/persian/article-fa/a-complete-guide-to-manytomany-relationships-in-django-with-practical-examples-fa

راهنمای کامل رابطه‌های چندبه‌یک (Many‑to‑One) در Django با استفاده از ForeignKey

این مقاله نحوهٔ تعریف و کار با رابطه‌های چندبه‌یک در Django را توضیح می‌دهد. از ایجاد آبجکت‌ها و دسترسی از هر دو سمت رابطه، تا جابه‌جایی رابطه‌ها، کوئری‌زدن روی فیلدهای مرتبط، استفاده از لیست و queryset در فیلترها، کوئری‌های حلقه‌ای، و رفتار حذف (CASCADE). تمام مفاهیم با مثال‌های واقعی از API پایتونی Django ارائه شده‌اند.

/persian/article-fa/a-complete-guide-to-manytoone-relationships-in-django-using-foreignkey-fa