美文网首页Python圈Python基础
Django基础3--数据库配置及创建模型

Django基础3--数据库配置及创建模型

作者: 伊洛的小屋 | 来源:发表于2020-08-26 13:49 被阅读0次
1.数据库配置
  • 打开 settings.py 。这是个包含了 Django 项目设置的 Python 模块,配置文件使用 SQLite 作为默认数据库,后面实际开发项目中也可以换成其他的数据库(MySQL,MongoDB....)
  • ENGINE -- 可选值有 'django.db.backends.sqlite3''django.db.backends.postgresql''django.db.backends.mysql',或 'django.db.backends.oracle'
2.注册APP
  • settings.py 下INSTALLED_APPS都是注册的应用
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

'django.contrib.admin', 管理员站点
'django.contrib.auth', 认证系统
'django.contrib.contenttypes', 内容类型框架
'django.contrib.sessions', 会话框架
'django.contrib.messages', 消息框架
'django.contrib.staticfiles', 管理静态文件框架

3.数据库迁移
# 伊洛Yiluo 公众号:伊洛的小屋
# https://yiluotalk.com/
python manage.py migrate
  • migrate命令只会为在 INSTALLED_APPS 里声明了的应用进行数据库迁移
(django) ➜  AutoPlatform python manage.py migrate 
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK
  • 如上迁移完成
  • 数据库里已经生成对应的表


4.创建模型
  • 定义模型 - 也就是数据库结构设计和附加的其它元数据
  • 设计自己的模型,首先看看需要哪些数据
# 作者:伊洛Yiluo 公众号:伊洛的小屋
# 个人主页:https://yiluotalk.com/
# 博客园:https://www.cnblogs.com/yiluotalk/
from django.db import models

# Create your models here.


class ProjectInfo(models.Model):
    """ 项目信息模型 """
    project_name = models.CharField(max_length=30)
    dev = models.CharField(max_length=20)
    tester = models.CharField(max_length=20)
    add_data = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        # 返回项目名称
        return self.project_name

  • 创建一个项目信息的类继承model,其中属性分别为项目名称,开发人员,测试人员,添加日期
  • DateTimeField记录日期和时间的数据,auto_now_add=True指的是每当用户创建新主题时,这都让Django将这个属性自动设置成当前日期和时间
  • Django调用方法__str__()来显示模型的简单表示
5.激活模型
  • 要使用模型,必须让Django将应用程序包含到项目中,来打开settings.py,找到下面这段代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
  • 将自己的应用添加到INSTALLED_APPS
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # My app
    'autoapi',
]
  • 让Django修改数据库,使其能够存储模型
(django) ➜  AutoPlatformpython manage.py makemigrations autoapi
Migrations for 'autoapi':
  autoapi/migrations/0001_initial.py
    - Create model ProjectInfo

  • 命令makemigrations让Django确定该如何修改数据库,使其能够存储与我们定义的新模型相关联的数据。输出表明Django创建了一个名为0001_initial.py的迁移文件
  • 再次migrate一下
(django) ➜  AutoPlatform python manage.py migrate 
Operations to perform:
  Apply all migrations: admin, auth, autoapi, contenttypes, sessions
Running migrations:
  Applying autoapi.0001_initial... OK
  • 迁移OK
6.总结

模型需要这三步

  • 编辑 models.py 文件,改变模型。
  • 运行 [python manage.py makemigrations] 为模型的改变生成迁移文件。
  • 运行 [python manage.py migrate] 来应用数据库迁移。

欢迎下方【戳一下】【点赞】
Author:伊洛Yiluo
愿你享受每一天,Just Enjoy !

相关文章

  • 开发流程

    开发流程  创建 Django 项目 创建应用 模型 数据库配置 数据库表的定义 定义模型...

  • Django基础3--数据库配置及创建模型

    1.数据库配置 打开 settings.py 。这是个包含了 Django 项目设置的 Python 模块,配置文...

  • Django项目的开发二

    1、创建 Django 项目 2、创建应用 3、模型 1、数据库配置 2、数据库表的定义 3、定义模型...

  • Django开发流程

    流程目录: 创建Django项目 创建应用 模型:数据库配置数据库表的定义定义模型类生成数据表 模板 视图 服务器...

  • django---一个项目的创建

    让我们先说说开发流程1.创建 Django 项目2.创建应用3.模型4.数据库配置5.数据库表的定义6.定义模型类...

  • Django笔记(一)

    最基础配置及开始使用: 创建工程:django-admin startproject projectname进入工...

  • Django基础(5): Admin

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(4): 建立Templates

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(3): 配置url

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

  • Django基础(2): 创建应用

    陆续更新中:Django基础(1): 目录文件简介Django基础(2): 创建应用Django基础(3): 配置...

网友评论

    本文标题:Django基础3--数据库配置及创建模型

    本文链接:https://www.haomeiwen.com/subject/dndzjktx.html