Django 常见问题

  1. 什么是ORM?
    1. 通常,在Django中
      • 定义一张数据库的表 就是定义一个继承自 django.db.models.Model 的类
      • 定义该表中的字段(列), 就是定义该类里面的一些属性
      • 类的方法就是对该表中数据的处理方法,包括 数据的增删改查
      • 这样,开发者对数据库的访问,从原来的使用底层的 sql 语句,变成 面向对象的开发,通过一系列对象的类定义 和方法调用就可以 操作数据库。
        这种 通过 对象 操作数据库 的方法 被称之为 ORM (object relational mapping)
  2. request.GET   为一个字典对象,值为URL 获取来的参数  request.GET(''name")  ,获取URL 指定参数    user/?<name>
    1. request.params['action']
  3. 反向过滤
    1. 反向过滤:
      使用了反向关联名字
      Country.objects.filter(students__grade=1).values()
      没有指定方向关联名, 则应该使用 表名转化为小写 
      Country.objects.filter(student__grade=1).values() .distinct()
  4. 使用 Django 的 with transaction.atomic(),将一批数据库操作放在事务中,任何一次数据库操作失败了,数据库系统会让整个事务回滚
    1.   
原文地址:https://www.cnblogs.com/nancyfeng/p/13572214.html