Django学习教程(七)创建博客文章模型

Django学习教程(七)创建博客文章模型

前言

  上一篇我们学习了Django模型层Model的基本概念,知道了模型类可以和数据库表对应。这一篇我们来创建博客文章模型。

  我们后面要做的是一个简单博客项目,所以首先需要有一张文章表,用来保存文章标题、文章内容、创建时间等信息。

1.创建文章模型

打开blog应用下的models.py文件,编写Article模型。

代码:

复制代码
from django.db import models


class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_time = models.DateTimeField(auto_now_add=True)
    updated_time = models.DateTimeField(auto_now=True)

这里我们定义了一个Article类,继承models.Model。

2.字段说明

title表示文章标题。

复制代码
title = models.CharField(max_length=100)

CharField表示字符串类型,max_length表示最大长度。

content表示文章内容。

复制代码
content = models.TextField()

TextField适合保存比较长的文本内容。

created_time表示创建时间。

复制代码
created_time = models.DateTimeField(auto_now_add=True)

auto_now_add=True表示创建数据时自动设置时间。

updated_time表示修改时间。

复制代码
updated_time = models.DateTimeField(auto_now=True)

auto_now=True表示每次修改数据时自动更新时间。

3.添加字符串方法

为了让后台或Shell中显示更友好,可以添加__str__方法。

代码:

复制代码
from django.db import models


class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_time = models.DateTimeField(auto_now_add=True)
    updated_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

这样打印文章对象时,会显示文章标题。

4.模型类注意点

定义模型时需要注意:

  1. 模型类要继承models.Model
  2. 字段要使用Django提供的字段类型
  3. 字符串字段一般要设置max_length
  4. 修改模型后需要执行数据库迁移

5.总结

  这一篇我们创建了博客文章模型Article,并定义了标题、内容、创建时间、修改时间几个字段。

  模型类写好以后,还不会马上生成数据库表,下一篇我们需要执行数据迁移,让Django帮我们生成对应的数据库表。好了这一篇就到这里,如果对你有帮助,点赞加关注,下篇见。

相关推荐
JavaWeb学起来1 天前
Django学习教程(六)模型层Model基本介绍
python web·django教程·django学习·django基础
JavaWeb学起来2 天前
Django学习教程(五)Django HelloWorld入门案例
python web·django教程·django学习·django基础
JavaWeb学起来3 天前
Django学习教程(四)Django项目目录结构介绍
python web·django教程·django学习·django基础
JavaWeb学起来6 天前
Django学习教程(三)创建Django应用
python web·django教程·django学习·django基础
JavaWeb学起来8 天前
Django学习教程(二)创建Django项目
python web·django教程·django学习·django基础
JavaWeb学起来9 天前
Django学习教程(一)Django介绍和环境准备
django·python web·web框架·django教程
laufing6 个月前
fastapi 基础介绍
fastapi·高性能·python web
数据知道6 个月前
Django基础项目:从零到一搭建用户管理系统
python·django·python web·python项目
数据知道6 个月前
【Flask】一文掌握 Flask 基础用法
数据库·后端·python·flask·python web