1.初始化项目
两种方式 1.IDE创建
2.命令行创建
django-admin startproject '项目名称'
2.创建数据库
3.配置连接数据库
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django0315orm',
'USER': 'root',
'PASSWORD': 'admin123',
'HOST': '127.0.0.1',
'PORT': 3306
4.创建模型层(class)
必须继承于modules.Model,也就是ORM框架(Object-Relational-Mapping),通过该类操作数据库.只需要面向对象,不必担心数据库sql语句,会损失一定的损失(对于复杂的业务)
5. 创建一个应用(图书管理:bookstore)
python manage.py startapp bookstore
创建应用,并注册应用
6.创建应用类(以便对应数据库中的相应表)
在创建的应用中,找到modles.py文件,编写相应的模型类.
class BookStore(models.Model):
book_name = models.CharField(verbose_name='书名', max_length=50, default='')
book_prize = models.DecimalField(verbose_name='价格', max_digits=7, decimal_places=2)
该类将会映射一张数据库中的表.
7.数据库迁移()
python manage.py makemigrations
到这一步表示创建关系成功
python manage.py makemigrations
出现红色部分及创建成功表(其他的为django内置的其他模型相关表结构)
8.查看数据库(创建成功)
9.在模型中添加一个字段 (添加一个描述信息字段:desc_info)
#模型类代码新增:
desc_info = models.CharField(verbose_name='描述信息', max_length=300, default='')
#执行命令:
python manage.py makemigrations
#再次执行以下命令,同步数据库表:
python manage.py makemigrations
再次查看数据库
10.模型类-字段选项(注意)
注意: 字段选项,指定创建的列的额外的信息 允许出现多个字段选项,多个选项之间使用,隔开
- primary_key
如果设置为True,表示该列为主键,如果指定一个字段为主键,则此数库表不会创建id字段 - blank
设置为True时,字段可以为空。设置为False时,字段是必须填写 - null
如果设置为True.表示该列值允许为空,默认为False,如果此选项为False建议加入default选项来设置默 认值 - default
default设置所在列的默认值,如果字段选项nul=False建议添加此项
好习惯:修改过字段选项「添加或更改)均要执行makemigrations和 migrate
11.修改表名
直接创建类模型时,生成的表的表名为:"应用名称"_"定义的类的小写"作为表名,比如之前创建的应用是:bookstore,类名称是:BookStore,最后生成的表名称为:bookstore_bookstore,现在想改这个表名称,通过使用内部类Meta修改,在定义的类中新增Meta类,为db_table赋值即可,重新运行第七步.
# 通过内部类修改表名
class BookStore(models.Model):
book_name = models.CharField(verbose_name='书名', max_length=50, default='')
book_prize = models.DecimalField(verbose_name='价格', max_digits=7, decimal_places=2)
desc_info = models.CharField(verbose_name='描述信息', max_length=300, default='')
class Meta:
db_table='books'
再次执行数据迁移命令:
python manage.py makemigrations
python manage.py migrate
修改成功:
完工:基本效果已经完成,操作数据库数据下篇继续.