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')[0:10] ,因为all这样返回的是列表,所以可以用Python中的列表处理函数来处理
(D)删:
1 >>>nb.delete()
数据已删掉,但nb对象还保存值
然而,这些是最基本的用法,光知道这些没有一点卵用,我研究研究先