文章目录
- 参考资料
- ORM-基础字段及选项
- 字段类型
- 练习——添加模型类
- 应用bookstore下的models.py
- 数据库迁移——同步至mysql
- mysql中查看
- 效果
- 字段选项
- Meta类
- 定义
- 示例:改表名
- 应用bookstore下的models.py
- 终端
- 效果
- 练习——改表名+字段选项修改
- 应用bookstore下的models.py
- 终端
- 效果
- ORM基本操作
- 常见问题汇总
- 基础概念
- 创建数据
- 引入新工具——Django Shell
- 示例
- 方案1
- Shell
- 效果(在mysql中查看)
- 方案2
- Shell
- 效果
- 练习——插入数据
参考资料
B站网课:点击蓝色字体跳转
或者复制链接至浏览器访问:https://www.bilibili.com/video/BV1vK4y1o7jH?p=16&vd_source=597e21cf34ffcdce468ba00be2177e8a
ORM-基础字段及选项
添加字段之后要记得进行迁移,变化才能同步至数据库
python3 manage.py makemigrations
python3 manage.py migrate
字段类型
练习——添加模型类
应用bookstore下的models.py
class Author(models.Model):name = models.CharField('姓名',max_length=11,default='')age = models.IntegerField('年龄')email = models.EmailField('邮箱')
数据库迁移——同步至mysql
python3 manage.py makemigrations
python3 manage.py migrate
mysql中查看
进入mysql:
mysql -u root -p
输入密码:123456
use mysite3;
show tables;
desc bookstore_author;
效果
字段选项
null尽量不要使用
修改过字段选项【添加或更改】均要执行makemigrations和migrate
python3 manage.py makemigrations
python3 manage.py migrate
Meta类
定义
示例:改表名
更改表名
应用bookstore下的models.py
class Book(models.Model):title = models.CharField('书名',max_length=50,default='')price = models.DecimalField('价格',max_digits=7,decimal_places=2,default=0.0)class Meta:db_table='book'
添加内容:
class Meta:db_table='book'
终端
数据库的迁移
python3 manage.py makemigrations
python3 manage.py migrate
效果
修改表名前:
修改表名后:
练习——改表名+字段选项修改
应用bookstore下的models.py
from django.db import models# Create your models here.
class Book(models.Model):title = models.CharField('书名',max_length=50,default='',unique=True)pub = models.CharField('出版社',max_length=100,default='')price = models.DecimalField('价格',max_digits=7,decimal_places=2,default=0.0)market_price = models.DecimalField('价格', max_digits=7,decimal_places=2, default=0.0)class Meta:db_table='book'class Author(models.Model):name = models.CharField('姓名',max_length=11,default='')age = models.IntegerField('年龄',default=1)email = models.EmailField('邮箱',null=True)class Meta:db_table='author'
终端
数据库的迁移
python3 manage.py makemigrations
python3 manage.py migrate
效果
ORM基本操作
常见问题汇总
推荐选择2:修改models.py
基础概念
创建数据
方案2较麻烦,更推荐方案1
引入新工具——Django Shell
代码发生变化后要重启Django Shell
示例
方案1
Shell
python3 manage.py shell
from bookstore.models import Book
b1 = Book.objects.create(title='python',pub='清华大学出版社',price=20,market_price=25)
效果(在mysql中查看)
方案2
Shell
python3 manage.py shell
from bookstore.models import Book
b2 = Book(title='Django',pub='清华大学出版社',price=70,market_price=75)
b2.save()
效果
练习——插入数据
(持续更新中)