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 大於等...