django-ForeignKey,OneToOneField,ManyToManyField

進入到django自帶的related.py中,能夠看到django

1.ForeignKeyapp

初始化的參數有:函數

to, on_delete, related_name=None, 
related_query_name=None,limit_choices_to=None,
parent_link=False, to_field=None,
db_constraint
=True, **kwargs

假設咱們有:spa

class Author(models.Model):     author = models.CharField(max_length=250) class Books(models.Model):     book = models.ForeignKey(to='Author',on_delete=models.CASCADE,to_field='id')

to:被關聯表的名稱code

on_delete:刪除帶有外鍵的信息時,定義了刪除的操做:blog

  • CASCADE:刪除做者信息一併刪除做者名下的全部書的信息;
  • PROTECT:刪除做者的信息時,採起保護機制,拋出錯誤:即不刪除Books的內容;
  • SET_NULL:只有當null=True纔將關聯的內容置空;
  • SET_DEFAULT:設置爲默認值;
  • SET( ):括號裏能夠是函數,設置爲本身定義的東西;
  • DO_NOTHING:字面的意思,啥也不幹,你刪除你的幹我毛線關係;

to_field:被關聯的字段,通常是主鍵,也能夠是值惟一的字段it

2.OneToOnetable

初始化參數有:class

to, on_delete, to_field=None, **kwargs

3.ManyToManymodel

初始化參數有:

to, related_name=None, related_query_name=None, limit_choices_to=None, symmetrical=None, through=None, through_fields=None, db_constraint=True, db_table=None, swappable=True, **kwargs

 

相關文章
相關標籤/搜索