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 # 生成数据表
浙公网安备 33010602011771号