ایجاد ارتباط بین دادهها و کاربران
در ادامه باید بین دادهها و کاربری که آن را ثبت کرده ارتباط برقرار کنیم. کافی است تنها دادهها در بالاترین سطح سلسلهمراتب را به یک کاربر متّصل کنیم و دادههای دیگر در سطحهای پایینتر به دنبال آن خواهند آمد. برای مثال در Learning Log موضوعها بالاترین سطح اطّلاعات در برنامهاند و تمام مطلبها به یک موضوع وابستهاند. مادامیکه هر موضوع به یک کاربر خاص تعلّق داشته باشد میتوانیم مالکیّت هر مطلب را در پایگاه داده ردگیری کنیم.
مدل Topic را با افزودن یک ارتباط کلید خارجی به یک کاربر تغییر میدهیم. پس از آن باید پایگاه داده را منتقل کنیم. در نهایت تعدادی از نماها را اصلاح میکنیم تا تنها دادههای مرتبط با کاربری که در حال حاضر وارد شده را نشان دهد.
اصلاح مدل Topic
تغییرات models.py تنها در دو خط انجام میپذیرد:
|
|
مدل User را از django.contrib.auth وارد میکنیم. سپس فیلدی به نام owner به Topic اضافه میکنیم که یک ارتباط کلید خارجی به مدل User برقرار میکند. اگر کاربری حذف شود تمام موضوعهای مرتبط با آن نیز پاک خواهد شد.