最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

django入门14:django QuerySets操作数据库表

扩展 太平洋学习网 浏览 评论

 这一节将用python django的shell命令对我们之前的sqlite数据库进行增删改查的操作,QuerySets是查询集,我们将以操作User表为例,这些命令是可以直接在views.py中使用的,并不仅仅局限于命令行,下面是我们的User表,看一看。

QQ截图20170927200329.jpg

首先打开cmd命令行工具,cd进入到我们的helloDjango项目中,输入以下Django shell命令。

d:\helloDjango>python manage.py shell

成功之后返回如下信息。

(InteractiveConsole)

>>>

我们使用以下命令尝试获取所有user的用户,提示该用户未定义,如下。

>>> User.objects.all()
Traceback (most recent call last):
      File "<console>", line 1, in <module>
NameError: name 'User' is not defined

 在使用django sql语句时,必须需要导入我们的User实体类(模型),如:from blog.models import User,意思就是导入blog/models文件里面的User实体类,不然的话是会报错的,应该输入如下信息。

>>> from blog.models import User
>>> User.objects.all()
[<User: User object>, <User: User object>, <User: User object>]
>>>
返回所有用户

这样就能查询所有的用户数据了,后面的增加用户,修改用户,排序用户,删除用户都简单的写一下,非常的简单。

//创建user用户语句
>>>User.objects.create(username='haha',password='888888')
//返回此插入用户,如下
>>><User: User object>

根据用户id排序,语句如下,返回list用户列表

User.objects.order_by('id')

根据id查询某个用户,如下,如果条件是字符串则用引号,如get(username='zhangsan')

User.objects.get(id=4)

objects的filter查询返回的也是一个list用户集合,即使只有一个用户也是一个集合,如下。

User.objects.filter(id=4)
[<User: User object>]

链式 QuerySets查询集的使用,例如django查询id不等于0的所有用户,并根据id排序,如下。

from django.db.models import Q  
User.objects.filter(~Q(id=4)).order_by('id')

update修改id=4的用户,语句如下,返回结果是int类型的参数,意思是影响了几行。

>>> User.objects.filter(id=4).update(password='99999')
1

django删除某个用户,sql命令如下。

User.objects.get(id=4).delete()

退出shell使用以下命令。

exit()

基本常见的就是这些了,倒序排序我目前还不知道怎么使用,不好意思。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/kuozhan/2017/0927/249.html

    与本文相关的文章

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)

    网友最新评论