ORM操作
一、单表操作之生成模型
1、首先创建一个数据库(通过终端或客户端创建)
2、在settings.py文件中绑定该数据库
如果想打印orm转换过程中的sql,需要在settings中进行以下配置:
# 打印orm转换过程中的sql LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
3、在model.py文件中定义类,相当于在数据库中创建一张表
class Book(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=32) pub_date = models.DateField() price = models.DecimalField(max_digits=8,decimal_places=2) #最大位数8位,其中后两位为小数,即最大值999999。99 publish = models.CharField(max_length=32)
4、接着在项目的__init__.py文件中导入pymysql包,如下:
import pymysql pymysql.install_as_MySQLdb()
5、最后通过两条数据库迁移命令即可在指定的数据库中创建表:
python manage.py makemigrations
python manage.py migrate
创建成功
二、单表操作之添加纪录
# 添加表记录 # 方式1: # book_obj = Book(id=1,title='python红宝书',price=100,pub_date='2012-12-12',publish='人民出版社') # book_obj.save() # 方式2:create是有返回值的,就是当前生成的对象记录 book_obj = Book.objects.create(title='php',price=80,pub_date='2010-12-12',publish='人民出版社') print(book_obj.title) print(book_obj.publish)
三、单表操作之查询API