Django-Models-多表查询

Django-Models-多表查询

  1. 表关系

    • 一对多:models.ForeignKey(其他表)
    • 多对多:models.ManyToManyField(其他表)
    • 一对一:models.OneToOneField(其他表)
  2. 一对多关系(从表为userinfo和主表usertype)

    1. 设置外键

           user_type=models.ForeignKey(to="usertype",to_field="id",default=1,on_delete= models.CASCADE)
      

      此时、主表为usertype,从表为userinfo.注意在数据库中表明为“模块名_类名的小写形势”。加入模块名为userinfo,这两个表名分贝为“user_usertype”和"user_userinfo".
      在从表中会产生一个新的字段:user_type_id.但注意user_type代表的是主表usertpye对象。

      注意加上on_delete= models.CASCADE

      • models.CASCADE,删除关联数据,与之关联也删除

      • models.DO_NOTHING,删除关联数据,引发错误IntegrityError

      • models.PROTECT,删除关联数据,引发错误ProtectedError

      • models.SET_N

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值