上一篇表建好后开始对数据进行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')[0:10]  ,因为all这样返回的是列表,所以可以用Python中的列表处理函数来处理

 

(D)删:

1 >>>nb.delete()

 

 数据已删掉,但nb对象还保存值

然而,这些是最基本的用法,光知道这些没有一点卵用,我研究研究先