django ORM

1、基本操作
     模型定义:
class ModelName(models.Model):
     field = models.XXField(...)
     ...
     class Meta:
          db_table = ...
          other_metas = ...
     基本查询:
     Django通过模型的objects对象查询模型数据如:
Comment.objects.all() //查询comment模型的所有数据
     Django有两种过滤器筛选记录:
  • filter(**kwargs): 返回所有符合筛选条件的数据集
  • exclude(**kwargs): 返回不符合条件的数据集
查询所有2015年非1月的n_visits不为0的记录:
Comment.objects.filter(pub_date_date=2015).exclude(pub_date_month=1).exclude(in_visits=0)
     Django还提供用于查询指定条数的数据集的下标操作:
Comment.objects.all() [:10] #查询前10条记录
Comment.objects.all() [10:20] #查询第11-20条
Comment.objects.all() [1] #查询第二条记录

2、关系操作
     1)一对一
在任意模型中定义OneToOneField字段,定义相互之间的一对一关系
     2)一对多
使用models.ForeignKey类型字段定义外键
      3)多对多
在任意模型中定义ManyToManyField字段,定义相互之间的 多对多 关系

3、面向对象ORM
     1)抽象类继承
抽象基类的定义通过在模型的Meta中定义属性abstract = True来实现
     2)多表继承
多表继承不需要定义特殊的关键字,子类直接继承父类即可,在对模型的编程中,子类仍然可以直接引用父类定义的字段;同时子类可以通过父类对象引用访问父类实例
     3)代理模型继承
通过在子类的Meta中定义proxy=True实现,用于管理父类的数据而不实际存储数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值