Django——model的创建与修改
2021/11/13 6:14:53
本文主要是介绍Django——model的创建与修改,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、配置数据库
我用的是MySQL数据库
在settings中:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'lesson4', 'USER': 'root', 'PASSWORD': '123456', 'HOST': 'localhost', 'PORT': '3306' } }
二、创建一个model
在app文件夹下的models.py
#coding:utf-8 from django.db import models class Test(models.Model): name = models.CharField(max_length=20)
然后在命令行中:
python manage.py makemigrations
这样就成功了,如果有这个error:ModuleNotFoundError: No module named ‘MySQLdb’
可以看上一篇文章。
0001_initial文件如下:
# Generated by Django 2.1.2 on 2021-11-12 15:30 from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Test', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=20)), ], ), ]
这里因为我们没有创建主键,所以django自动创建了一个主键id。
接下来同步到数据库中:命令行:
python manage.py migrate
这时再进入mysql,进入database中,可以看到多了很多表。
auth_user: 是django自己的用户体系
现在我们想再向表里加一个字段:
age = models.IntegerField()
那么如何更新表呢?
命令行:python manage.py makemigrations
这时会提示你要添加‘age’字段吗,他没有默认值?
选择一:提供默认值
选择二:quit (直接退出了)
选择一
因为刚刚定义的int类型,所以可以给个整数作为默认值。
然后让他真正执行到数据库中:python manage.py migrate
多了age字段
三、给添加好的字段修改类型、名称
把age改成ages
ages = models.IntegerField()
依旧有提示
然后再执行
数据库操作两条命令:
python manage.py makemigrations python manage.py migrate
此外还可以修改类型,删除字段等,直接对class类里定义的静态变量操作就OK啦,还挺方便的
ORM操作还是很简单,直接用Python语句,不用使用SQL语句。
这篇关于Django——model的创建与修改的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享