版权声明:本文为博主原创文章,可以随意转载,但请附原地址或原作者名。谢谢! https://blog.csdn.net/farley119/article/details/82752220
引言
python shell 大家可以了解一下,我觉得我在这里讲这个就不合适了。本节主要是在Python shell下的编写。
数据模型测试
在上节中我们创建了数据模型。但是,我们创建的表示空的。这节我们就先给它添加一条数据,并读出来看看结果。这样保证我们的数据模型是可以的之后再进行下一步开发。
首先,打开我们的Python shell.
python manage.py shell
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]:
然后导入我们所需的时间模块和模型模块的包
In [1]: from myblog.models import BlogPost
In [2]: from datetime import datetime
下面我们先看下我们的BlogPost表中都有哪些数据:
In [3]: BlogPost.objects.all()
Out[3]: <QuerySet []>
空的,这就对了。我们还没有往里面添加数据呢。
下面我们就先添加一条数据,也就是意味着我们发表了一篇博文:
In [4]: bp = BlogPost(title="My Frist Blog",body="This is my frist blog,And it i
...: s a test blog ,I love python",timestamp=datetime.now())
OK,然后我们把它保存进我们的数据表中:
In [7]: bp.save()
/anaconda3/lib/python3.6/site-packages/Django-2.2-py3.6.egg/django/db/models/fields/__init__.py:1419: RuntimeWarning: DateTimeField BlogPost.timestamp received a naive datetime (2018-09-16 14:04:46.630707) while time zone support is active.
RuntimeWarning)
这个提示就表示我们已经添加成功了。下面我们回过头来再看下数据表中数据的数量:
In [8]: BlogPost.objects.count()
Out[8]: 1
这个时候就有一条了吧。那么我们怎么取出来这条数据呢?有一种办法简单粗暴:
In [9]: bp = BlogPost.objects.all()[0]
直接取出表中的第一条数据,那个中括号中的值你可以随意写,想去第二条就写1,第00条就写99.。。。。。。
下面我们对比一下,看拿到的这个数据是不是我们刚才添加的那一条呢?按理说应该是的,毕竟我们仅且只添加了一条。
In [10]: print(bp.title)
My Frist Blog
这就对了。打开我们的数据库,去看看这个表的结构和数据,看是不是和我们设想的一致呢?
毫无疑问。
更多内容请关注公众号“计算机自学平台”