这一篇教程,我们一起来学习Django2中模型的使用。
提示:为了更顺利的学习新的内容,建议大家在PyCharm中重新创建项目和应用。
在之前的教程中,我们已经知道模型(Model)是和数据库相关的。
Django支持多种数据库,包括默认的SQLite3以及MySQL和PostgreSQL等数据库。
使用哪一种数据库需要在项目的settings.py中进行进行配置。
如果使用默认的SQLite3数据库,这个配置是Django创建项目时已经添加好的。
示例代码:
DATABASES={#数据库配置default:{#默认数据库ENGINE:django.db.backends.sqlite3,#数据库引擎设置NAME:os.path.join(BASE_DIR,db.sqlite3),#数据库的路径与名称}}
注意检查一下项目文件夹中是否包含“db.sqlite3”这个数据库文件。
如果没有的话,可以通过PyCharm进行添加。
在项目文件夹上点击鼠标右键,菜单中选择新建(New)-数据源(DataSource),此时会弹出一个窗口。
在这个窗口中,我们可以选择数据库文件的存放路径(Path),直接填写名称即是存放在当前项目文件夹中。
数据库驱动(Driver)选择sqlite(Xerial),然后点击确定(OK)按钮。
在新打开的窗口中,我们可以点击测试链接(TestConnection)测试一下数据库链接是否正常。
点击确定(OK)按钮后,数据库文件就创建好了。
接下来,我们编写模型文件(models.py)的代码。
这里值得一提的是,在更换数据库时,“models.py”中的代码不用做任何更改,只需要在“settings.py”文件中更改数据库的配置。
我们来看一下创建数据库表的流程,就知道为什么这么说了。
创建数据表的流程一共3步:
模型文件(models.py)中编写数据表所对应的类;通过“manage.py”的“makemigrations”命令创建迁移项;通过“manage.py”的“migrate”命令创进行迁移。
也就是说,我们在模型文件(models.py)中创建了数据表对应的类,剩下的工作都通过“manage.py”的命令,让Django自动去执行。
一、编写模型文件(models.py)
假设我们创建一个商品信息表。
模型文件(models.py)中,需要创建类以及类的特性(变量),实际上类名对应的是数据库的表名,而特性(变量)对应的是数据表的列(字段)。
示例代码:
classGoodsInfo(models.Model):goods_name=models.CharField(max_length=30)goods_number=models.IntegerField()goods_price=models.FloatField()
在上方代码中,我们创建了一些不同类型的字段的对象,包括字符串类型(CharField)、整数类型(IntegerField)和浮点数类型(FloatField)。
字段类型有很多种,例如还有邮箱类型、URL类型等等,大家可以参考官方文档进行使用。