Django1 6中models模型關聯的方法整理

2021-06-23 04:55:17 字數 950 閱讀 9571

foreignkey是個多對一(many to one)關係。引用下官方文件的例子:

from django.db import models

class topping(models.model):

# ...

pass

class pizza(models.model):

# ...

toppings = models.foreignkey(topping)

pizza模型關聯到toppinig模型。要建立乙個pizza模型有兩種方法:

1、

# 先建立乙個topping

t = topping()

# 通過t來建立相關聯的pizza

p = t.pizza_set.create()

這種方法適用於比較簡單一點的關係,比如投票系統,乙個問題就固定對應幾個選項。若要在以存在的模型之間建立關係,則可使用第二種方法:2、

t = topping()

p = pizza.objects.create(toppings=t)

foreignkey的一些引數設定:

class blog(models.model):  

user = models.foreignkey(user, blank=true, null=true, on_delete=models.set_null)

foreignkey預設在被關聯項刪除時,會將與之關聯的所有項一起刪除。要避免這種情況需要設定on_delete引數來規定進行刪除操作時的行為。除set_null以外還有set_default等引數,更詳細的在文件裡有說明:

官方文件

其他的關係型別等以後再補……

參考:django 1.6 documentation-------models

django1 6部署實現hello

環境為ubuntu14 destop。2 在目錄 home cloud downloads 下解壓,命令tar zxvf django1.6.tar.gz。解壓後生成資料夾django1.6,3 cd進入django1.6資料夾,用命令安裝 python setup.py install。4 在目錄...

Django1 6和1 7靜態檔案配置方法

最近一直在用django1.6和1.7做專案,感觸比較多,如果大家初次使用django的話難免會對它的靜態檔案配置感到頭疼,網上也是眾說紛紜,所以我把我的解決思路整理一下,希望能對大家有所幫助。需要說明一下,在django的專案檔案裡有乙個debug true選項,當這個選項為true時為除錯模式,...

Django的models中filter的各種用法

exact 精確等於 like aaa iexact 精確等於 忽略大小寫 ilike aaa contains 包含 like aaa icontains 包含 忽略大小寫 ilike aaa 但是對於sqlite來說,contains的作用效果等同於icontains。gt 大於 gte 大於等...