از Pista Academy حمایت کنید
برای مشاهده سایر جلسات و ادامه یادگیری، وارد صفحه دوره شوید.
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 15 دوره FastAPI، مدرس به بررسی مفاهیم دیتابیسی در پروژه میپردازد. به ویژه، به ارتباط بین جدولهای یوزر و تووز پرداخته و نیاز به ایجاد ستون فارن کی در جدول تووز برای ارتباط با جدول یوزرها را توضیح میدهد. همچنین، ایجاد جدول جدید برای ذخیره اطلاعات یوزرها و تغییرات لازم در مدل دیتابیس را به عنوان بخشی از پیادهسازی مفاهیم مطرح میکند.
نکات کلیدی
نیاز به ایجاد جدول جدید برای ذخیره اطلاعات یوزرها.
ایجاد ستون فارن کی در جدول تووز برای ارتباط با جدول یوزرها.
تغییرات در مدل دیتابیس شامل استفاده از ابزارهای لازم برای مدیریت دیتابیس.
توضیح ارتباط بین جدولهای یوزر و تووز با استفاده از مثالهای عملی.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای ارتباط جدول تووز با جدول یوزرها، نیاز به ستون فارن کی است که به عنوان ارتباط بین دو جدول عمل میکند.
تغییرات شامل ایجاد جدول جدید برای یوزرها و ایجاد ستون فارن کی در جدول تووز است.
آخرین بهروزرسانی محتوای متنی:
دوره جامع FastAPI از صفر تا استقرار در دنیای واقعی اگر دنبال ساخت APIهای حرفهای، سریع و امن با پایتون هستی، این دوره دقیقاً برای توست. قدمبهقدم از مبانی شروع میکنیم و تا پیادهسازی در محیط تولید (Production) پیش میرویم: از راهاندازی و طراحی Endpointها، پایگاهداده، احراز هویت و مجوزها، تستنویسی و مهاجرت دیتابیس تا نسخهسازی با Git و دیپلوی نهایی. این دوره چه چیزهایی بهت میدهد؟ شناخت کامل FastAPI و مزیتهایش (سرعت بالا، تایپهینتها، مستندسازی خودکار، async) ساخت RESTful APIهای تمیز و ماژولار با الگوهای حرفهای پیادهسازی لایههای Authentication & Authorization (مانند توکنهای JWT و نقشها) اتصال به پایگاهداده و آمادهسازی Database برای تولید به همراه مفاهیم اساسی Performance و ایمنی داده انجام مهاجرتهای دیتابیس (Alembic) بدون از دست رفتن داده Unit & Integration Testing برای اطمینان از کیفیت کد ساخت یک اپلیکیشن فولاستک با API بکاند FastAPI و یک فرانتاند رایج مدیریت نسخهها و گردشکار تیمی با Git Deploy امن و استاندارد روی سرور یا سرویسهای ابری 🎯 مخاطبان این دوره برنامهنویسان پایتون که میخواهند APIهای سریع و مقیاسپذیر بسازند بکاند دولوپرهایی که به دنبال Production-Ready FastAPI هستند دانشجویان یا فریلنسرهایی که میخواهند با نمونهکارهای واقعی، وارد بازار کار شوند پیشنیاز: آشنایی پایه با پایتون (متغیرها، توابع، ماژولها). بقیه را در خود دوره یاد میگیری. خروجی نهایی تو پس از دوره یک بکاند استاندارد و Production-Ready با FastAPI تسلط بر احراز هویت و مجوزها و الگوهای امنیتی رایج مهارت در مهاجرتهای دیتابیس و نگهداری داده در طول توسعه توانایی نوشتن تست برای اطمینان از کیفیت و کاهش ریسک تجربه ساخت یک پروژه فولاستک برای رزومه و پرتفولیو آمادگی برای دیپلوی و نگهداری سرویس در محیط واقعی چرا این دوره متفاوت است؟ پروژهمحور و کاملاً عملی؛ هر فصل یک خروجی ملموس میسازد تمرکز روی آنچیزی که در محیط تولید واقعاً به آن نیاز داری سادگی بیان + استانداردهای حرفهای = یادگیری سریع اما اصولی چطور از دوره استفاده کنم؟ ویدیوها را به ترتیب ببین و همزمان کدنویسی کن هر فصل یک Feature واقعی بساز در انتها آمادهای کدت را روی سرور/ابر بالا بیاوری اگر این دوره برات مفید بود، لطفاً لایک، سابسکرایب و کامنت یادت نره تا فصلهای جدیدتر و پروژههای بیشتر بسازیم 🙌
در حال حاضر بچهها ما یه دونه تیبل بیشتر نداریم یه تیبل داریم برای تووس درسته خب
خب ولی خب طبیعتاً ما جلوتر بریم باید یه
تیبل هم برای یوزرامون داشته باشیم. پس در
نهایت من د تا تیبل خواهم داشت. فرض کنید
ما تبل توزی که قبلاً داشتیم یوزر جدیده حالا کار به فیلداش و اینا ندارن فعلاً
ما توی یه نکته سوالی که پیش میاد اینه که
ما الان یه سری یوزر فرض کنید اینجا داشته
باشیم مثلا این فرض کنید ستوناشه
این سرست ستوناشه مثلاً یه سرست ستون دارم
من اینجا
اینم مثلاً یوزرامه اینورم یه سری ستون من دارم
این سر ستونمه
و اینم مثلاً فرض کنید رکوردای جدول توس
من به ازای هر یوزر چند تا توو میتونم
داشته باشم؟
بینهایت میتونم تو داشته باشم. یعنی یک
شخص میتونه تعداد زیادی توو داشته باشه.
بالعکسش چطور؟
هر توو میتونه به چند تا یوزر وصل بشه؟
نه فقط مال یه یوزره.
یعنی چی؟ یعنی ارتباط بین یوزرز و جدول تو
دو به صورت وان تو میه اما برعکسش اینجوری
نیست. یعنی هر یوزر میتونه تعداد زیادی
توو داشته باشه. این به این صورت فلش جهتش
اینوریه.
حالا سؤالی که پیش میاد اینه که من ارتباط بین جدول یوزرز و جدول تولدوزو چهجوری
باید برقرار بکنم؟
الان جدول توز من چیا داخلش بود بچهها
یادتونه؟ بذار من پروژه رو واسه استاپ
کنم. خب
همیشه پروژه رو استاپ بکنید وقتی میخواید
تغییری بدید. چاب نکنید یه وقت دچار مشکل
میشه پروژهتون و مجبورید سیستمتونو
ریاستارت بکنید
نگاه کنید بچهها من میرم تو فایل مدل
الان من یه آیدی دارم که آیدی اون تو دوست
یه تایتل و دسکریپشن و پراوریتی و کامپلت
یعنی چیزی من داخل تیبل تووس ندارم که
بخواد ارتباطشو با جدول یوزرز برقرار بکنه
چهجوری باید این کارو بکنم من باید داخل
جدول تووز یه چیزی داشته باشم یه ستون
جدید داشته باشم
که این ستون جدید
اصطلاحاً بچهها به این میگن پ فارنکی خب فارن کی
که این فارن کی میاد متصل میشه به یه در حقیقت آیدی جدول یوزرز که منحصر به فردمست
فرض کن اینور ما یه آیدی داریم که این
پرایمری کیه بچهها
پس فارن کی یکول و همیشه متصل میشه به پرایمری کی یک جدول
دیگه. اینجوری میتونیم ارتباطو ایجاد
بکنیم.
پس در نهایت بچهها من نیاز دارم که داخل
این مدلی که برای درست کردم یه تغییر
ایجاد بکنم. ۱ ۲ یه جدول جدیدم درست کنم
برای یوزرام.
برای درست کردن تغییر یا ایجاد تغییر توی
جدول یه ابزاری هست که ما جلوتر یاد
میگیریم. اینجا من دیتابیسمو یه بار پاک
میکنم دوباره میسازمش فعلاً
فعلاً نمیخوام خودمو درگیر اون ابزارو
بکنم ابزار جلوتر یاد میگیریم خب بریم
این کارو با هم انجام بدیم و فقط چند تا
نکته یکی اینکه داخل.pپیوا پی وای ببخشید
داخل دیتابیس اسمشو عوض کنید به نام تو
دوز اپ کنید یه اسم جدید براش بذارید خب
بعد بیاید داخل مدل اینجا یه چند تا تغییر
بدیم
آرس [صدای خرناس] اینم باید پاک کنیم
دیلیت پاکش کردم
اولین تغییری که باید بدم اول جدول یوزرزو با هم بسازیم بعد بیایم راجع به اون تغییر
جدول تو صحبت کنیم
یه کلاس جدید درست میکنم به نام یوزرز
باز اینم بیسو داره
تیبل نیم
مساوی یوزرز
کالم از نوع اینتیجر
بعد این پرایمری کی هم هست نقش پرایمری کی
هم بازی میکنم
اینو میکنم ترو و نقش ایندکسم بازی میکنم
خب اینو من کپی میکنم که یه سری چیزا رو
ننویسم دیگه چی داریم یه دونه ایمیل داره
هر یوزر
از نوع استرینگه
و یه چیز نکتهای که داره اینه که یونیکم باید باشه بچهها ایم پس یونیکو میکنم تو
اینم تو رو اینم همین مشخصاتو داره باید یونیک باشه
دیگه چی داریم فرست نیم داریم
این ولی نیاز نیست یونیک باشه بچهها بیشتری برای یونیک بودن نداره
بذار اینو خودشو بیارم آیا یوزرمون اکتیو هست یا نه
دیگه چی داریم یه دونه رول داریم نقشش
حالا بریم سراغ تغییری که باید داخل در حقیقت جدول تولوز بدم باید یه دونه
آیدی ستون جدید اضافه کنم به نام اونرش
اونر آیدی مینویسمشو
که
از نوع اینتیجره و فارنکی هم هست بچهها
چرا ساجست نمیکنه آها چون ایمپورتش نکردم فالن کیو باید ایمپورت کنید بچهها از
اسکیل آلکمی باید ایمپورت فارن کی
که باید ارتباطش بدم با
جدول یوزرز.آی
به این صورت اینم میشه اون تغییری که ما باید اینور
میدادیم. حالا دیگه چه نکتهای داره؟
نکته دیگهای نمیمونه. بریم اپلیکیشنو
ران کنیم که دیتابیس جدیدمون ساخته بشه.
اسمشو عوض کردیم به نام توتوز اپ گذاشتیم
یه رفرش میدم اینجا نگاه کنید ساخته شد پیدا
خب تا همین جا باشه ادامهشو جلسه بعدی صحبت کنیم یه نکته بگم فقط بچهها من
ویدیوها رو خیلی کوتاه ضبط میکنم مثلاً
۱۰ دقیقه تا یه روز سعی میکنم باشه که
خستهون نکنه و مباحثو مرتبط تو هر ویدیو
میندازم یعنی مباحث مرتبط تو هر ویدیو
مثلاً ویدیو بعدی شما یه لحظه میبینید
بحث عوض میشه موضوع عوض میشه بریم بیایم
جلسه بعدی بحثو ادامه بدیم فعلاً خداحافظ