进入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: tmyyss> >>> User.objects.all() [<User: tmyyss>]下面我们插入一条数据到Blog数据库
>>> user=User.objects.get(username='tmyyss') >>> user <User: tmyyss> >>> blog=Blog.objects.create(user=user,title="Test,Test",text="you share roses get fun") >>> blog <Blog: Blog object>3、通过blog实例访问相应的对象属性
>>> blog.id 4L >>> blog.user <User: tmyyss> >>> blog.title 'Test,Test' >>> blog.text 'you share roses get fun' >>> blog.created_time datetime.datetime(2015, 3, 26, 6, 42, 17, 839353, tzinfo=<UTC>) >>> blog.published_time >>>我们也改变属性值
>>> blog.title="HA HA! That funny" >>> blog.save() >>> blog <Blog: Blog object>咦,没有变化,为什么呢?通过查看官方文档得知,需要修改Blog模型,
修改的Blog模型如下
from django.db import models from django.contrib.auth.models import User from django.utils import timezone # Create your models here. class Blog(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 import Blog >>> Blog.objects.all() [<Blog: HA HA! That funny>]现在我们就能看见我们修改的内容。
4、过滤
为了方便演示效果,再添加两个Blog对象
>>> from django.contrib.auth.models import User >>> >>> >>> user=User.objects.get(username='tmyyss') >>> Blog.objects.create(user=user,title='I love Python.',text='I love Python,I love python') <Blog: I love Python.> >>> Blog.objects.create(user=user,title='I love Django.',text='I love Django,I love Django') <Blog: I love Django.>过滤使用关键词filter
>>> Blog.objects.filter(id=6) [<Blog: I love Django.>] >>> Blog.objects.filter(title='I love Python.') [<Blog: I love Python.>]5、排序
排序使用关键词
>>> Blog.objects.order_by('-created_time') [<Blog: I love Django.>, <Blog: I love Python.>, <Blog: HA HA! That funny>] >>> Blog.objects.order_by('-id') [<Blog: I love Django.>, <Blog: I love Python.>, <Blog: HA HA! That funny>] >>> Blog.objects.order_by('-title') [<Blog: I love Python.>, <Blog: I love Django.>, <Blog: HA HA! That funny>]
转载于:https://www.cnblogs.com/tmyyss/p/4368957.html
相关资源:python建站django框架与数据库交互的简单学习代码