白森 发表于 2015-12-3 08:19:43

Python Django 开发 3 数据库CURD

  上一篇表建好后开始对数据进行CURD操作
  dos输入:



>>>python manage.py shell
  以下的命令都是在shell中测试
  (C)增:



1 >>>import myLesson import Blog
2 >>>b = Blog(name = 'Frist Blog', tagline = 'All')
3 >>>b.save()
4 >>>b.id
5 1
  操作都是以对象.save()的方式来保存到数据库,用官方的话是:
  To create an object, instantiate it using keyword arguments to the model class, then call save() to save it to the database.
  机器翻译:创建一个对象,使用关键字参数模型类的实例化它,然后调用save()来将其保存到数据库中。
  save()方法是没有返回值的,所以最后一个输出自增的ID编号
  如果需要直接写入,不使用save方法,如下:
  Blog.objects.create(name = 'Frist Blog', tagline = 'All')
  (U) 改:



1 >>>b.name
2 Frist Blog
3 >>>b.name = 'New name'
4 >>>b.save()
5 >>>b.name
6 New name
  另一种直接修改的方法:
  Blog.objects.filter(id = 1).update(name = 'New name')
  (R)查:



1 >>>nb = Blog.objects.get(id = 1)
2 >>>nb.name
3 u'New name'
  get方法只用于查询返回只有一条数据的情况,如果没有返回值或有多个返回值,就会报错,这时候可以使用filter函数,返回一个QuerySet对象,类似结果集对象
  nb = Blog.objects.filter(id=1)
  查询所有:Blog.objects.all()
  排序:Blog.objects.all().order_by('id'),这样是升序,降序字段前面加个“-”号,order_by('-id'), 根据多个字段排序:**.order_by('id','name')
  限定条数:Blog.objects.all().order_by('id'),因为all这样返回的是列表,所以可以用Python中的列表处理函数来处理
  
  (D)删:



1 >>>nb.delete()
  
  数据已删掉,但nb对象还保存值
  然而,这些是最基本的用法,光知道这些没有一点卵用,我研究研究先
页: [1]
查看完整版本: Python Django 开发 3 数据库CURD