Django数据库操作
在Django里是MTV模式:model view templates
创建models.py
Django中对数据库的操作是由Models来完成的
在app下有个models.py文件,输入代码:
from django.db import models # 引入models模块 # Create your models here. # 博客的导航栏表 class Nav(models.Model):# 创建类,继承models.Model,该类即是一张数据表 # 在类中创建字段 name = models.CharField(max_length=10,unique=True,verbose_name='导航名称')# 导航栏 is_delete = models.SmallIntegerField(default=1,verbose_name='是否被删除')#判断是否被删除,非物理删除,当1为未删除 create_time = models.DateTimeField(verbose_name='创建时间',auto_now_add=True)#auto_now_add的意思,插入数据的时候,自动取当前时间 update_time = models.DateTimeField(verbose_name='修改时间',auto_now=True)#修改数据的时候,时间会自动变
右键点击db.sqlite3,点击copy path复制路径,打开Navicat Premium,新建SQLite
在“数据库文件”粘贴刚刚复制的地址,确定。
补充1:如果报错,可以在setting中检查是否有这行代码
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', #检查下是否有下面这句,才能找到app下面的models,用来建表 # 'user.apps.AppConfig' 'user' ]
把类同步到数据库,生成数据表
Teminal下执行命令:
python manage.py makemigrations # 产生迁移数据库的代码,可以看到migrations文件夹下出现了00001_initial.py表结构 python manage.py migrate # 同步到数据库,完成后会在数据库创建一张数据表,其中有user_nav(app名+类名)表
补充1:上面的命令可以使用快捷按钮执行
在pycharm下的Tools点击run manage.py task,再输入makemigrations和migrate
补充2:如不想使用默认的表名,可以自己定义,在models.py下class Meta(嵌套类)中加上
db_table = 'nav'#表名
现在表就建好了
表结构如下