欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

3.Django Model

Django ORM基本配置

使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational mapping)模型。

django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。

 1.修改newcrm的数据库配置

(1).修改setting中的数据库配置

默认:

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

 

修改为mysql数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'newcrm',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': 3306
    }
}

 

(2) 安装pymysql,修改newcrm下的init.py文件

import pymysql

pymysql.install_as_MySQLdb()

 

(3).项目中使用多个数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'newcrm',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': 3306
    },
    'app01': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'app01',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '127.0.0.10',
        'PORT': 3306
    },
    'app02': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'app02',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '127.0.0.20',
        'PORT': 3306
    }
}

 

如果在项目中要使用多个数据库,可以在上述配置中根据app名称命名新的自定义数据库连接。

 2.创建数据库表结构文件

对应app目录下的models.py

(1).生成一个简单的数据库表:

from django.db import models



class UserInfo(models.Model):
    # id = models.AutoField(primary_key=True)
    user = models.CharField(max_length=60)
    password = models.CharField(max_length=60)

    # 如果不指定id主键会默认创建id列,自增,主键
    # user列,字段类型为字符串,最大长度为60

 

(2).把app名称加入到setting中的INSTALLED_APPS配置中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'cmdb.apps.CmdbConfig',   # 或者cmdb
]

 

(3).执行命令同步到数据库

python manage.py  makemigrations
python manage.py  migrate         # 生成数据表

 

posted on 2018-11-26 08:36  Louiszj  阅读(65)  评论(0)    收藏  举报

导航