Django1.6中models模型关联的方法整理

1、models.ForeignKey

ForeignKey是个多对一(many to one)关系。引用下官方文档的例子:
from django.db import models

class Topping(models.Model):
    # ...
    pass

class Pizza(models.Model):
    # ...
    toppings = models.ForeignKey<span style="font-family: Arial, Helvetica, sans-serif; line-height: 1.3em;">(Topping)</span>
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等参数,更详细的在文档里有说明: 官方文档

其他的关系类型等以后再补……


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值