符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
本篇文章给大家分享的是有关Django 中怎么建立Model模型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
目前成都创新互联已为上千余家的企业提供了网站建设、域名、虚拟空间、网站运营、企业网站设计、沙依巴克网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Django Model层是Django的数据模型层,每一个Model类就是数据库中的一张表;
我们需要注意下面几点:
model一般都是定义在不同的APP的models.py模块文件中,可以是一个,也可以是多个;
不同model之间可以相互关联,类似表直接的关联;
APP中一旦定义了model,必须将此APP添加到settings文件中;
且一定要记得运行makemigrations检查model更新和migrate同步数据模型在数据库中建表(这两个操作大家记得在哪里操作吗,之前的文章有写,快捷键就是Alt+Ctrl+R);
我们一起来看一下如何定义一个数据model模型,具体有哪些操作:
首先我们需要在APP中的models.py创建Model,我们用courses APP来操作一下
from django.db import models class Course(models.Model): name = models.CharField(max_length=50, verbose_name="课程名") desc = models.CharField(max_length=300, verbose_name=u"课程描述") degree = models.CharField(choices=(("primary", '初级'), ("middle","中级"), ("junior", "高级")), max_length=10, verbose_name='课程难度') students = models.IntegerField(default=0, verbose_name="学习人数") # 需要安装pillow,图片处理库 image = models.ImageField(upload_to="courses/%Y/%m", verbose_name="课程图片", max_length=100) class Meta: verbose_name = "课程" verbose_name_plural = verbose_name
我们知道每一个Model类就是数据库中的一张表,那这段代码中我们定义了五个字段,代表相应的数据库表中也有五个字段,大家注意一下字段的类型(等一下我们再来讲解关于字段类型),
这个表其实就想当于以下代码:
create table courses_course( id int not null primary key, name varchar(50), desc varchar(300), degree varchar(10), students int(11), image varchar(100), );
然后我们需要在数据库中生成数据表,执行makemigrations
在app下建立migrations
目录,并记录下所有关于models.py的改动,比如0001_initial.py
, 但是这个改动还没有作用到数据库文件,接着执行migrate
将改动作用到数据库文件,比如产生table之类;
最后可以登录MySQL数据库检查表是否创建成功,大家还记得怎么登录mysql数据库吗?
先开启mysql数据库,我是用的Winginx中的mysql数据库,所以我只需要在Winginx打开就好,然后在命令行工具中输入:
mysql -ufirst_project -p123456 我的用户名是first_project ,密码是123456
然后我们在数据库中查看表是否成功
use First_Project # 我的数据库是First_Project show tables; # 查看所有表
我们是不是能看到有一个courses_course表呀,然后输入命令行desc courses_course;
IntegerField
:整型字段;
CharField
:字符型字段,该字段类型有一个必需参数:max_length 在数据库水平限定了字符串最大长度;
ImageField
:图像字段,能自动验证上传的对象是否为合法的图像;
FloatField
:浮点字段;
AutoField
:根据已有id自增长的整型唯字段,一般每个model类不需设置该字段,因为django会为每个model自动设置;
以上就是Django 中怎么建立Model模型,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。