【Django入门】——Python的交互式shell快速尝试试验模型API

交互式shell


1. 启动shell

  • python manage.py shell

终端输入命令

Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.11.1 -- An enhanced Interactive Python. Type '?' for help.

2. 操作

In [1]: from boards.models import Board

In [2]: board = Board(name='Tdq', description='She is a perfect woman.')

In [3]: board.save() # 保存到数据库

In [4]: board.id
Out[4]: 1

In [5]: board.name
Out[5]: 'Tdq'

In [6]: board.description
Out[6]: 'She is a perfect woman.'

(1)board是一个Board板块的实例
(2)board.save():保存到数据库

3. 模型管理器

  • 每一个Django模型都有一个模型管理器,通过objects访问这个管理器,用于数据库操作
  • 注意是模型的操作
In [7]: board = Board.object.create(name='Yzy', description='He is a handsome man.')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-4a7cb2ed0f36> in <module>
----> 1 board = Board.object.create(name='Yzy', description='He is a handsome man.')

AttributeError: type object 'Board' has no attribute 'object'

In [8]: board = Board.objects.create(name='Yzy', description='He is a handsome man.')

In [9]: board.id
Out[9]: 4

In [10]: board.name
Out[10]: 'Yzy'

In [11]: board.description
Out[11]: 'He is a handsome man.'

In [12]: Board.objects.all()
Out[12]: <QuerySet [<Board: Django>, <Board: YZY>, <Board: Tdq>, <Board: Yzy>]>

In [13]: boards_list = Board.objects.all()

In [14]: for board in boards_list:
    ...:     print(board.name)
    ...: 
Django
YZY
Tdq
Yzy

In [15]: django_board = Board.objects.get(id=1)

In [16]: django_board.name
Out[16]: 'Django'

In [17]: board = Board.objects.get(id=3)

In [18]: board.description
Out[18]: 'She is a perfect woman.'

4. 删除数据库保存的元素

 for i in Board.objects.all():
    ...:     i.delete()
    ...: 

In [41]: Board.objects.all()
Out[41]: <QuerySet []>

5. 退出shell

  • ctrl+D

6. 小结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44478378/article/details/105631609