前言
我们在Django快速入门的三个章节简单的体验了一下Django的使用,当然只是使用到了其中的小部分功能,但是我们没有必要再入门demo中平铺没有重点的学习过多的知识点,接下来我们会针对某个模块进行详细系统的学习,当前章节主要讨论模型。
思考:
在我们快速入门的demo中有没有涉及到MTV的设计模式。
模型层定义
我们这里说的模型其实就是MTV中的M,模型的功能是描述数据,存储数据的字段与行为,说白了模型就是一个有对应数据库表的类。
模型层是一种抽象概念,包含对各个模型对象的相关操作。在模型层级Django提供给开发者的功能主要有两个:1根据Model对象构建数据表。2自动生成操纵数据API。
模型(Model类)的定义
根据设计的表结构在models.py文件中定义继承于django.db.models.Model的类,类的字段对应数据库表字段,类型也要对应,比如mysql中varcahr字段对应代码中需要使用CharField定义。
from django.db import models
# Create your models here.
# 根据表结构创建模型,定义类继承于models.Model
from django.utils import timezone
class news(models.Model):
# 每一个属性对应数据库表的一个字段
# 因为title在数据库表中是以字符形式存在,对应实体类指定为CharField,max_length表示最大长度
title = models.CharField(max_length=50)
content = models.CharField(max_length=200)
# 发表时间,时间类型,指定默认值为当前时间,注意timezone的包
pub_date = models.DateTimeField("保存日期",default = timezone.now)
#
def __str__(self):
return self.title + "," + self.content + "," &