django mysql api_Django学习之数据库API

本文介绍了如何在Python交互控制台中使用`manage.py shell`命令操作Django数据库,包括查询、插入、属性访问和过滤排序等基本操作。示例中展示了创建用户、插入Blog数据、修改属性并保存,以及如何过滤和排序Blog对象。
摘要由CSDN通过智能技术生成

进入Python交互控制台

python manage.py shell

之所以用上面的命令,而不是python,是因为manage.py设置了DJANGO_SETTINGS_MODULE环境变量。不需要我们手动去导入django模块。

导入Blog模型类

from blog.models import Blog

接下来,我们来学习一下数据库API

1、查询Blog中的所有数据

>>>Blog.objects.all()

[]>>>

因为,我们还没有插入任何数据,所以返回的是空的list。

2、插入数据

首先创建一个用户,因为存在外键User

>>> from django.contrib.auth.models import User

>>> User.objects.create(username='tmyyss')

>>>User.objects.all()

[]

下面我们插入一条数据到Blog数据库

>>> user=User.objects.get(username='tmyyss')>>>user

>>> blog=Blog.objects.create(user=user,title="Test,Test",text="you share roses get fun")>>>blog

3、通过blog实例访问相应的对象属性

>>>blog.id4L

>>>blog.user

>>>blog.title'Test,Test'

>>>blog.text'you share roses get fun'

>>>blog.created_time

datetime.datetime(2015, 3, 26, 6, 42, 17, 839353, tzinfo=)>>>blog.published_time>>>

我们也改变属性值

>>> blog.title="HA HA! That funny"

>>>blog.save()>>>blog

咦,没有变化,为什么呢?通过查看官方文档得知,需要修改Blog模型,

修改的Blog模型如下

from django.db importmodelsfrom django.contrib.auth.models importUserfrom django.utils importtimezone#Create your models here.

classBlog(models.Model):

user=models.ForeignKey(User)

title=models.CharField(max_length=200)

text=models.TextField()

created_time=models.DateTimeField(default=timezone.now)

published_time=models.DateTimeField(blank=True,null=True)def __unicode__(self):return self.title

重新运行python manage.py shell

>>> from blog.models importBlog>>>Blog.objects.all()

[]

现在我们就能看见我们修改的内容。

4、过滤

为了方便演示效果,再添加两个Blog对象

>>> from django.contrib.auth.models importUser>>>

>>>

>>> user=User.objects.get(username='tmyyss')>>> Blog.objects.create(user=user,title='I love Python.',text='I love Python,I love python')

>>> Blog.objects.create(user=user,title='I love Django.',text='I love Django,I love Django')

过滤使用关键词filter

>>> Blog.objects.filter(id=6)

[]>>> Blog.objects.filter(title='I love Python.')

[]

5、排序

排序使用关键词

>>> Blog.objects.order_by('-created_time')

[, , ]>>> Blog.objects.order_by('-id')

[, , ]>>> Blog.objects.order_by('-title')

[, , ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值