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'#表名

 

现在表就建好了

表结构如下

 

posted @ 2019-11-19 23:01  柠檬不萌!  阅读(115)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end