django項(xiàng)目有兩種方式構(gòu)建數(shù)據(jù)庫(kù) 一種是直接在數(shù)據(jù)庫(kù)建立表結(jié)構(gòu)然后在models中手動(dòng)添加表,第二種是在models種手動(dòng)添加表然后由python生成數(shù)據(jù)庫(kù)表結(jié)構(gòu),現(xiàn)在在數(shù)據(jù)庫(kù)新建好了一張表,看下對(duì)應(yīng)models字段的關(guān)聯(lián)關(guān)系。
首先表結(jié)構(gòu)如下 這是一張公司信息的表,user_id是關(guān)聯(lián)的用戶表外鍵
關(guān)聯(lián)外鍵需要用到ForeignKey方法,第一個(gè)參數(shù)指定代關(guān)聯(lián)的表結(jié)構(gòu),由db_column指定字段,該字段無(wú)需指定字段類型
下面是varchar類型的字段,對(duì)應(yīng)CharField方法,其中max_length是長(zhǎng)度,一般不是必填項(xiàng)的話需要開(kāi)啟 null=True可為空
下面domain是text字段,計(jì)劃是存儲(chǔ)json格式的多個(gè)網(wǎng)站域名所對(duì)應(yīng)是TextField方法,此方法無(wú)需設(shè)置長(zhǎng)度,按需設(shè)null即可
然后是時(shí)間字段使用DateTimeField,除了null也不需要特殊設(shè)置
然后isdel字段是tinyint字段,程序種只能用IntegerField字段來(lái)代替,默認(rèn)0需加參數(shù)default=0
最后在meta中關(guān)聯(lián)表名就完成了