数据库生成对应models
python mysite/manage.py inspectdb > mysite/myapp/models.py
新建项目
django-admin.py startproject learn_models # 新建一个项目
cd learn_models # 进入到该项目的文件夹
django-admin.py startapp people # 新建一个 people 应用(app)
数据库与models关联
django 默认使用的sqllite,如果要在项目中使用mysql,需要安装新的模块,比如mysqlclient,或者pymysql,貌似mac上使用mysqlclient会方便很多
1. models生成数据库,不同版本的会有不同的指令,当然建议使用高版本,有些从models的改变没法自动生成数据库文件的,在系版本django中有一些不同
先 cd 进入 manage.py 所在的那个文件夹下,输入下面的命令
## Django 1.6.x 及以下
python manage.py syncdb
## Django 1.7 及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate
python manage.py migrate --run-syncdb
- 数据库生成model
- 配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
数据库创建models
比如重定向到一个models.py的文件中python manage.py inspectdb > mysite/myapp/models.py
数据库的编码问题:
在mysql中存在着各种utf8编码格式,如下表:
1)utf8_bin
2)utf8_general_ci
3)utf8_general_cs
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感
更多文献:hxf.space