第一部分:
1.使用 manage.py 工具加载我们的项目来启动 Python shell :
(env) D:\Development\myproject\myproject>python manage.py shell
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
项目将被添加到sys.path
并加载Django。这意味着我们可以在项目中导入我们的模型和其他资源并使用它。
2.导入Board类开始:
>>> from boards.models import Board
3.创建新的 board 对象,并且要将这个对象保存到数据库中去:
>>> board = Board(name='Django', description='This is a board about Django.')
>>> board.save()
4.可以将其余的字段当做Python属性访问:
>>>board.id
1
>>>board.name
'Django'
>>>board.description
'This is a board'
5.更新一个值,这样做:
>>> board.description = 'Django discussion board.'
>>> board.save()
第二部分:
1.每个Django模型都带有一个特殊的属性; 我们称之为模型管理器(Model Manager)。可以通过属性objects
来访问这个管理器,它主要用于数据库操作。可以使用它来直接创建一个新的Board对象:
board = Board.objects.create(name='Python', description='General discussi
2.使用objects
列出数据库中所有现有的版块:
>>> Board.objects.all()
<QuerySet [<Board: Django>, <Board: Python>, <Board: Random>]>
3.使用模型的 管理器(Manager) 来查询数据库并返回单个对象。为此,要使用get()
方法:
>>> Board.objects.get(name='Django')
<Board: Django>
>>> django_board = Board.objects.get(id=1)
>>> django_board.name
'Django'
第三部分:模型操作的总结:
使用前面的Board模型作为参考。大写的 Board 指的是类,小写的 board 指 Board 的一个实例(或对象)
操作 | 代码示例 |
---|---|
创建一个对象而不保存 | board = Board() |
保存一个对象(创建或更新) | board.save() |
数据库中创建并保存一个对象 | Board.objects.create(name='...', description='...') |
列出所有对象 | Board.objects.all() |
通过字段标识获取单个对象 | Board.objects.get(id=1) |