Django 模型学习笔记
简介
Django中的模型是指用于定义数据库结构的一个Python类。通过模型,可以轻松地定义和操作数据库表,包括增加、删除和修改数据记录等。
模型的定义
在Django中定义模型非常简单,只需创建一个继承自django.db.models.Model
的Python类,并在类中定义数据库表的字段。
例如,我们定义一个名为Book
的模型,其包含以下几个字段:
pythonCopy Codefrom django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
publisher = models.CharField(max_length=50)
publication_date = models.DateField()
price = models.DecimalField(max_digits=6, decimal_places=2)
在上面的代码中,我们定义了一个名为Book
的模型,其中包含从标题到价格共计5个字段。
其中,title
、author
、publisher
都是CharField
类型的字段,表示书籍的名称、作者和出版社名称;publication_date
是一个DateField
类型的字段,表示书籍的出版日期;price
是一个DecimalField
类型的字段,表示书籍的价格。
除此之外,还有许多其他可用的字段类型,如IntegerField
、BooleanField
、TextField
等。具体可参见Django官方文档。
数据库迁移
在定义了模型之后,需要将其同步到数据库中。Django中提供了一套强大的数据库迁移工具,可以自动地帮助开发者完成模型与数据库表之间的映射。
首先,在项目根目录下执行以下命令,创建一个新的数据库迁移:
bashCopy Code$ python manage.py makemigrations
然后,执行以下命令,将新的数据库迁移应用到数据库中:
bashCopy Code$ python manage.py migrate
通过执行上述两个命令,我们就可以将新定义的模型同步到数据库中。如果需要对模型进行修改,只需修改对应字段及其类型,然后再次执行上述两个命令即可。
模型的操作
在定义好并同步了模型之后,就可以对其进行操作。Django提供了一套灵活而易用的ORM(对象关系映射)框架,方便开发者对数据库进行增删改查等操作。
例如,我们可以使用以下代码向Book
模型中插入一条新数据:
pythonCopy Codefrom datetime import date
from myapp.models import Book
book = Book.objects.create(
title='Python入门教程',
author='binjie09',
publisher='清华大学出版社',
publication_date=date(2022, 6, 1),
price=49.99
)
通过上述代码,我们向Book
模型中插入了一条新数据,即一本名为Python入门教程
的书籍,作者为binjie09
,出版社为清华大学出版社
,出版日期为2022年6月1日,价格为49.99元。
除此之外,还可以使用类似于以下代码进行查询、更新或删除操作:
pythonCopy Code# 查询
books = Book.objects.filter(author='binjie09')
for book in books:
print(book.title)
# 更新
book = Book.objects.get(title='Python入门教程')
book.price = 59.99
book.save()
# 删除
book = Book.objects.get(title='Python入门教程')
book.delete()
通过上述代码,我们可以轻松地完成对Book
模型的查询、更新和删除操作。
总结
Django的模型是一个非常强大而方便的工具,方便开发者定义和操作数据库表。掌握了Django的模型,在开发网站时能够更加轻松地完成数据处理和管理。