您现在的位置是:首页 > 正文

django 使用默认django数据库创建数据库

2024-04-01 00:32:21阅读 3

django有默认自带的数据库,当然也可以用其他的数据库,修改数据库的方式也很简单是需要在setting.py修改

DATABASES这里面的参数就可以了
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

创建数据库

在blog目录下的model.py创建数据库

写下代码,创建两个属性一个title最大长度为64默认为biaoti,一个content可以为空

from django.db import models

# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=64,default='biaoti')
    content = models.TextField(null=True)

我这里没有创建主键django会自动生成一个主键,所以不用担心缺失主键的问题

下面我们使用两个命令创建数据库

参考

python manage.py makemigrations这个命令是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件例如:0001文件,如果你接下来还要进行改动的话可能生成就是另外一个文件不一定都是0001文件,他会在你的最近一次迁移文件加一,比如上次你的迁移文件是0001那么这次你的迁移文件就是0002.

这个命令并没有作用到数据库,他只是记录你的数据库需要更改的地方也就是你的model更改的东西,所以我们需要执行python manage.py migrate 命令  这条命令的主要作用就是把这些改动作用到数据库也就是执行migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性

重点生成的迁移文件不要修改或者删除他。每次执行migrate相应的就会在数据库中生成一条相关记录,每次执行migrate就会查询数据库中最后一次执行的迁移文件,然后再执行你新生成的。

py manage.py makemigrations
py manage.py migrate

 

运行结果

E:\untitled\python\django\myProject>manage.py makemigrations
Migrations for 'blog':
  blog\migrations\0001_initial.py
    - Create model Article
E:\untitled\python\django\myProject>manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, blog, 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 blog.0001_initial... OK
  Applying sessions.0001_initial... OK

可以用可视工具查看SQLite Expert Professional查看

 

网站文章

  • centos boot dvd版本_华为LTE认证考试题库(Word版)

    centos boot dvd版本_华为LTE认证考试题库(Word版)

    资料共计129页,篇幅有限,本文只列举少部分试题。如需要原文档:请关注本公众号,并将本文分享到朋友圈或者是通信群组。分享后添加微信(微信号:tongxinzixun123)领取。这些资料是我从各大通信论坛上面所收集,版权归原作者所有,本号只提供分享,供通信人学习交流用,禁止用于商业等用途,谢谢大家的理解与支持!更多精彩内容,请点击下面链接查看并领取:4G网络优化典型案例(PPT版)5G现...

    2024-04-01 00:32:12
  • 苹果手机无法解析html,苹果手机故障全解析

    苹果手机无法解析html,苹果手机故障全解析

    苹果手机的的故障问题虽然有很多,不过依旧无法阻挡果粉们对它的爱。今天小编就为大家总结和介绍一下苹果手机都有哪些故障和解决办法!手机不像电脑是靠自身散热,大家最直观的感受就是手机操作一会发烫,怎么解决?...

    2024-04-01 00:32:04
  • 什么是美颜SDK?

    什么是美颜SDK?

    首先,美摄美颜SDK拥有丰富的美颜算法库,可以满足用户多样化的美颜需求。再者,它还具备出色的跨平台兼容性,可以轻松集成到各种设备和应用中,无论是手机、相机还是直播平台,都能发挥出其强大的功能。当然,针...

    2024-04-01 00:31:58
  • Jfinal 在tomcat启动报错!!

    看清楚,我的jfianl项目启动报错大概显示:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component 什么原因呢?包也导够了,是从官方maven Demo拷贝过来的,在jetty server下可以启动,到部署到tom

    2024-04-01 00:31:30
  • ansible 流程控制

    ansible 流程控制使用when判断主机名- hosts: rsync_server tasks: - name: Install rsyncd Server yum: name: rsync state: present - name: Config rsyncd Conf copy: ...

    2024-04-01 00:31:23
  • angular路由传递参数

    angular路由传递参数

    1、 查询参数中传递数据 在a标签上添加一个参数queryParams <a [routerLink]="['/tab4']" [queryParams]="{id:3}" >tab4</a> 此时此时除了rout

    2024-04-01 00:31:17
  • linux shell 除法运算符,Linux shell 基本运算符详解

    shell 支持多种运算符1.算数运算符2.关系运算符3.布尔运算符4.字符串运算符5.文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr...

    2024-04-01 00:30:50
  • 《奔跑吧Linux内核(第二版)》第三章笔记

    《奔跑吧Linux内核(第二版)》第三章笔记

    ARM64架构基础知识

    2024-04-01 00:30:40
  • 【网络编程】更强的IO复用模型:epoll

    【网络编程】更强的IO复用模型:epoll

    epoll可以说是和poll非常相似的一种I/O多路复用技术,epoll通过监控注册的多个描述字,来进行I/O事件的分发处理。不同于poll的是,epoll不仅提供了默认的level-triggere...

    2024-04-01 00:30:18
  • 缓存穿透、缓存击穿、缓存雪崩概念及解决方案

    缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩...

    2024-04-01 00:30:12