Django黑科技之外鍵設定動態預設值

2021-09-24 18:09:28 字數 724 閱讀 4808

進入此文章,表面您django水平應該非常高了

還是體能測試專案,我們設計的理念就是「盡量讓老師少輸入資料」

然而作為一名程式設計師,這個理念說這簡單,而且做起來還是相當有難度的。

在這個專案中,我們需求是,老師不用自己錄入「採集年份」這個資料,每次都是系統自動填充。

採用引數預設值的方式,但是外來鍵的模式值不是簡單的數字,而是需要動態查詢的。下面是**

cj_year = models.foreignkey(xuenian, verbose_name=u'採集年份',on_delete=models.do_nothing,default=get_user_default_id )
查詢函式

def get_user_default_id():

oneitem=xuenian.objects.get(xn_status=0)

return oneitem.xn_id

最終效果

採集年份

自動顯示

mysql之外鍵

乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 乙個就是能夠增加er圖的可讀性 有些人認為外來鍵的建立會給開發時運算元據庫帶來很大的麻煩.因為資料庫有時候會由於沒有通過外來鍵的檢測而使得開發人員刪除,插入操作失敗.他們覺得這樣很麻煩 其實這正式外來鍵在強制你保證資料的完整性和一致性.這是好事...

MySQL之外鍵約束

mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,referencestbl name inde...

MySQL之外鍵約束

mysql有兩種常用的引擎型別 myisam和innodb。目前只有innodb引擎型別支援外來鍵約束。innodb中外鍵約束定義的語法如下 constraint symbol foreign key index name index col name,references tbl name ind...