定义表结构
编辑子应用下的models.py文件
from django.db import models
# Create your models here.
class Category(models.Model):
# 会自动创建自增长的id字段
# 定义数据表的name字段(最大长度50个字节,唯一)
name = models.CharField(max_length=50, unique=True, verbose_name="分类名称")
# 字符串类型,max_length是必填参数
create_time = models.DateTimeField(verbose_name="创建时间", auto_now_add=True)
# 定义数据表中的create_time字段
update_time = models.DateTimeField(verbose_name="修改时间", auto_now=True)
# 定义数据表中的update_time字段
class Meta:
# db_table = "category" #指定数据库里实际的表名 appname+classname
# user_category
verbose_name = "文章分类"
verbose_name_plural = verbose_name # 加上这个复数形式就不展示“s”了
def __str__(self):
return self.name
class Article(models.Model):
title = models.CharField(max_length=80, verbose_name="文章名称")
content = models.TextField(verbose_name="文章内容")
# TextField长文本类型的,它不限制长度
img = models.ImageField(verbose_name="文章图片", null=True, blank=True, upload_to='./static')
# null=True,blank=True 修改默认允许为空
category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, verbose_name="归属分类")
# ForeignKey定义外键
create_time = models.DateTimeField(verbose_name="创建时间", auto_now_add=True)
update_time = models.DateTimeField(verbose_name="修改时间", auto_now=True)
class Meta:
# db_table = "category"
# 指定数据库里实际的表名
# 如果不指定,就默认生成表名 appname+classname 即 user_category
verbose_name = "文章"
verbose_name_plural = verbose_name
def __str__(self):
return self.title
生成创建数据表的语句
python manage.py makemigrations # 先 生成创建表的语句
同步到数据库
python manage.py migrate # 同步到数据库
连接SQLite数据库验证
菜鸟教程:SQLit数据库介绍
数据表创建成功~