1.创建公共模型(luffyapi/utils.py文件中。)
from django.db import models class BaseModel(models.Model): """项目中的公共字段模型""" is_show = models.BooleanField(default=False, verbose_name="是否显示") orders = models.IntegerField(default=1, verbose_name="排序") is_deleted = models.BooleanField(default=False, verbose_name="是否删除") # auto_now_add 当添加数据时,当前字段使用当前时间戳作为默认值 created_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") # auto_now 当每一次数据发生变化的时候,当前字段都会使用当前时间戳作为默认值 updated_time = models.DateTimeField(auto_now=True, verbose_name="更新时间") class Meta: # 设置当前模型为抽象模型,在数据迁移的时候django就不会为它单独创建一张表 abstract = True
2.创建模型(在app应用下models文件中添加以下代码)
from django.db import models
from luffyapi.utils.models import BaseModel
class Nav(BaseModel):
"""导航菜单"""
NAV_OPTION = (
(1, "头部导航"),
(2, "脚部导航"),
)
title = models.CharField(max_length=500, verbose_name="导航标题")
link = models.CharField(max_length=500, verbose_name="导航链接")
position = models.IntegerField(choices=NAV_OPTION, default=1, verbose_name="导航位置")
is_http = models.BooleanField(default=False, verbose_name="是否是站外地址")
class Meta:
db_table = 'ly_nav' ##在数据库中显示的名字
verbose_name = '导航菜单' ##在站点上显示为导航菜单
verbose_name_plural = verbose_name
# 自定义方法[自定义字段或者自定义工具方法]
def __str__(self):
return self.title ##这个是自定义返回的对象,
3.下一步是数据迁移
python manage.py makemigrations
python manage.py migrate