Django之ORM操作(***)

Django之ORM操作(***)

  http请求的流程:

    url--> 视图view(模板渲染+数据库) -->返回给用户

  ORM的功能:

    可以转换SQL语句,并做操作。

    ORM操作数据表:

      -创建表:在models里写class类,生成数据表。class 类名(models.Model):

      -修改表:修改字段名,可直接,添加字段,要设为字段为空或设默认值。

          age = models.IntegerField(null=True)  设字段内容为空

          age = models.IntegerField(default=1) 设字段内容默认

      -删除表:

    ORM操作数据行:

      -增删改查

  ORM需要理由pymysql第三方工具连接数据库。

  默认连接:

    Django默认连接SQlite,SQlite是文件型数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',   #连接sqlite
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

  ORM连接MySQL的是MySQLDB:

    但是,py3里没有MySQLDB,所以要进行修改。修改Django默认连接MySQL方式。

    配置数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名称',
     'USER':"xxxxx",
     'PASSWORD':"xxxxxxx",
     'HOST':"连接的主机ip,本地的写localhost,也可以不写",
     'PORT':"3306"
    }
}

   在项目名中的__init__ .py 加:这样,pymysql就会将内部的MySQLdb替换了。

import pymysql

pymysql.install_as_MySQLdb()

  注册APP数据库models:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'APPS.apps.AppsConfig',
]

  生成数据库:

    python manage.py makemigrations
    python manage.py migrate 

  常用命令:

    python manage.py runserver 0.0.0.0
    python manage.py startapp appname
    python manage.py syncdb

  创建superuser:

    python manage.py createsuperuser

--------- END ----------- 

原文地址:https://www.cnblogs.com/george92/p/8505452.html