فیلد کلید خارجی foreignkey

همان طور که میدانید برای ارتباط دادن یک table به table دیگر ، فیلدی از نوع  foreign key در table  فرزند ایجاد می کنیم.

در باکس name  نام table که میخواهیم به آن foreign key بزنیم (جدول پدر) را انتخاب می کنیم .
در مثال زیر مدل book  (کتاب)  به مدل writer ( نویسنده ) foreign key زده شده است.

فیلد کلید خارجی(foreign key field)

باکس on_delete دو مقدار cascade و یا set_null می گیرد.

1.1         cascade

اگر cascade باشد ، در صورت پاک شدن ابجکت پدر، ابجکت های فرزند نیز حذف می شوند.

برای مثال یک نویسنده از لیست نویسندگان حذف شود ، تمامی کتاب های او نیز حذف می شوند.

1.2         Set_null

اگر set_null  باشد ، در صورت پاک شدن ابجکت پدر، فیلد foreign key  ( writer_id ) در ابجکت فرزند آن خالی یا  null می شود.
برای مثال نویسنده یک کتاب که از لیست نویسندگان حذف شود ، تنها فیلد نویسنده در ابجکت کتاب خالی یا null  می شود.

فیلد کلید خارجی(foreign key field)