۵ – طراحی دیتابیس و تحلیل Model ها

بلاگ پای ۵

قبل از شروع به ساخت هر نوع ویژگی جدید در پروژه، باید ابتدا طراحی دیتابیس و تحلیل Model ها انجام شود. با این کار از انطباق ویژگی های جدید با دیتابیس مطمئن شده و سپس شروع به برنامه نویسی پروژه می‌کنیم. در این ویدیو به سراغ تحلیل دیتابیس پروژه بلاگ پای خواهیم رفت و با استفاده از Model ها، موجودیت های پروژه را مشخص می‌کنیم.

در قسمت قبل (قسمت ۴ – راه اندازی دیتابیس PostgreSQL و اتصال به پروژه Django) دیتابیس را توسط کانتینر پلتفرم داکر ایجاد کرده و در این قسمت با استفاده از Model های جنگو، تغییرات را در دیتابیس ایجاد خواهیم کرد.

مشاهده قسمت ۵ دوره آموزشی توسعه سریع وب با Django 2، طراحی دیتابیس و تحلیل Model های پروژه جنگو بلاگ پای

در ابتدای ویدیو با مشاهده قالب وبسایت و تحلیل موجودیت ها، موجودیت های پروژه را استخراج کرده. سپس به سراغ نوشتن Model ها بر اساس موجودیت ها خواهیم رفت.

طراحی مدل های دیتابیس و موجودیت ها

تحلیل دیتابیس بر اساس نیازهای جدید نرم افزار، بخش مهمی در طراحی سیستم است. در پروژه بلاگ پای، ابتدا به سراغ همین امر مهم خواهیم رفت. موجودیت های اصلی پروژه سه موجودیت هستند.

موجودیت UserProfile که یک کلید OneToOne با موجودیت User های پیشفرض Django دارد. این موجودیت به منظور ثبت اطلاعات بیشتر نظیر آواتار و توضیحات را به کاربران پیشفرض Django اضافه می‌کند.

موجودیت Article که برای مقالات وب سایت است. این موجودیت اطلاعاتی نظیر عنوان و متن مقاله و زمانی که مقاله نوشته شده است و … را ذخیره می‌کند. همچنین این موجودیت با مدل دسته بندی ها یک کلید خارجی (Foreign Key) دارد تا بتوان هر مقاله را به یک دسته بندی اختصاص داد و همچنین هرمقاله نیاز به یک نویسنده دارد که با استفاده از کلید خارجی ارتباط بین مقاله و نویسنده هارا مشخص می‌کنیم.

موجودیت Category نیز برای دسته بندی مقالات به کار می‌رود و می‌توان هر تعداد مقالات را به یک دسته بندی خاص مرتبط کرد. این موجودیت تنها عنوان و عکس کاور دارد اما اگر نیاز به اطلاعات بیشتری برای نگهداری داشتید می‌توانید این موجودیت ها را تغییر دهید.

طراحی دیتابیس

قبل از انجام migration و ایجاد تغییرات لازم در دیتابیس، به سراغ ماژول قدرتمند CKEditor خواهیم رفت. به این دلیل که تولید کنندگان محتوای وبلاگ بتوانند از یک پنل مناسب برای نوشتن محتوا استفاده کنند. همچنین می‌توانید با استفاده از شخصی سازی CSS در پنل ادمین، داشبورد راحت تری را ایجاد کنید.

پنل ادمین Django

در قسمت بعد با طریقه ساخت فایل Requirements.txt و شخصی سازی پنل ادمین آشنا خواهیم شد.

محمد بابازاده
متخصص DevOps و توسعه دهنده Python