اندر خم join زدن با پایتون

بی شک پایتون یک زبان برنامه نویسی بسیار قدرتمند در زمینه کار با داده و پردازش است. اما در زمینه کار با دیتابیس چه طور؟

بعضیا میگن پایتون یا بهتر بگیم فریمورک جنگو تو زمینه کار با دیتابیس یا همون پایگاه داده ها یه ضعفایی داره یا مثل بقیه فریمورکا مثل لاراول نیست. قضیه اینه که توی join زدن جداول با ORM جنگو شاید یه چیزایی رو احساس کنید.

وقتی با جنگو بخاید بین جداول join بزنید برای اینکه کارتون راحت باشه باید حتما relation های جداول رو توی مدل خودتون معرفی و پیاده سازی کرده باشید. در این صورت کار خیلی راحته و با یک سری جادو!! خود ORM بین جداول join میزنه و به راحتی میتونین فیلدای مورد نظرتونو انتخاب کنید.

اما اگه ارتباطات رو تعریف نکرده باشید کار یه خورده سخت میشه.

برای حل این مشکل باید به روشهای دیگه متوسل بشین. مثل استفاده از دستورexcecut در connection.cursor برای نوشتن کوئری خام یا دستور objects.extra استفاده کنید.

اما یه راه دیگم هست و اون استفاده از کتابخانه pandas هست.

میتونید کوئری های مختلفتون رو به صورت انفرادی اجرا کنید و دادهایی رو که به صورت queryset به دست میارید رو به dataframe تبدیل کنید. حالا میتونید از امکانات merge ، join ، concat و ... که در کتابخانه قدرتمند pandas وجود داره استفاده کنید و به ساختار و خروجی مورد نظرتون برسید.