zoukankan      html  css  js  c++  java
  • 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'#表名

    现在表就建好了

    表结构如下

  • 相关阅读:
    信息安全系统设计基础第四周学习内容
    信息安全系统设计基础第三周学习总结
    第十二节 Linux下软件安装
    第十一节 正则表达式基础
    session的生命周期
    session对象
    什么是session
    请求重定向和请求转发的关系
    java web的response对象
    java web中request对象(下)
  • 原文地址:https://www.cnblogs.com/haifeima/p/11893289.html
Copyright © 2011-2022 走看看