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

 

原文地址:https://www.cnblogs.com/nanjo4373977/p/12642489.html