进入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')
[, , ]